`
yanfaguanli
  • 浏览: 650673 次
文章分类
社区版块
存档分类
最新评论

如何用Google APIs和Google的应用系统进行集成(4)----获得Access Token以通过一些Google APIs的OAuth2认证

 
阅读更多

在上篇文章中:"如何用Google APIs和Google的应用系统进行集成(3)----调用发现Google APIs的RESTful的服务"一文中,我们直接用jdk的java.net.*中的包去调用"发现Google APIs的RESTful的服务"(Google Discovery RestFul web service),没有给服务器端传入任何的认证信息,我们能直接调用;但是对于另外的Google RESTFul的web服务,比如,Google 任务(Task) API,Google Calendar(日历)API,我们不能直接调用,必须提供相应的认证信息,即OAuth2的token信息,才能通过认证,才能调用其提供的服务。

关于OAuth2的具体技术知识,限于篇幅,我这边不在赘述,大家可以从网站找到很多这方面的资料,比如下面的网站,

(1)http://huoding.com/2011/11/08/126

(2) http://huoding.com/2010/10/10/8

在本篇文章中,主要给大家说的是---如何获得用户的OAuth2的Access Token(授权进入系统的令牌)去调用需要OAuth2认证的Google API.比如,本文中我们以获得Google 日历(Calendar) API的Access Token为例子。


(1)首先需要注册一个Google的账号。打开https://code.google.com/apis/console/这个网站,如果是第一次登陆,其会提示你注册一个账号。

按照要求注册一个Google账号。


(2) 注册后,登陆这个网站:https://code.google.com/apis/console/,并创建一个新的项目。


(3) 在左边的菜单中APIs&Auth-->APIs 选择Calendar API,并点击 “OFF”按钮(如果当前的Status(状态)为OFF(关)的话)使其变成“ON”状态。




(4)已在上面步骤(1)注册的账号,登陆下面的网站,https://developers.google.com/oauthplayground


(5) 在“Step1 Select&Authorize APIs”中,选择Calendar API V3中第一个。




(6) 点击 “Authorzie APIs”,此时会弹出一个网页,点击“Accept”按钮。此时Google APi的应用将会得到用户的授权。


(7) 在”Step2 Exchange authorization code for tokens“中,点击”Exchange Authorization code for tokens“按钮。



(8) 这个时候,在Access token 文本框中,将会显示,OAuth2的Access Token,注意当前的Access Token默认情况下是一个小时有效(3600秒)

过了3600秒后,这个Access Token将没有权限访问Google Calendar API。 如果下次需要继续延长当前的Access Token的使用,就需要用到Refresh

Token,关于Refresh Token的讲解,有时间且大家比较感兴趣的话,我将在后续章节给大家分享。




分享到:
评论

相关推荐

    google api php client

    [Build Status](https://travis-ci.org/google/google-api-php-client.svg?branch=master)](https://travis-ci.org/google/google-api-php-client) # Google APIs Client Library for PHP # The Google API Client...

    谷歌师兄的leetcode刷题笔记-db-google-spreadsheets::laptop:使用GoogleDrive的电子表格作为数据库,使用工作表

    然后执行quickstart.js文件得到oauth2.token.json文件并使用模块。 如何使用 打开电子表格 var params = { spreadsheetId : "189ubij3PIK7ujsoSXXXXr3hsZqap_4w" , worksheetName : "Users" } ; var sheet = ...

    OAuthExample:OAuth Api 示例项目

    OAuth 示例OAuth Api 示例项目此项目的存在是为了展示使用 OAuth (google) 和 SAML (adfs) 令牌对自定义 API 集进行身份验证的简单用例。入门要运行项目,首先安装所有节点包,然后运行 ​​gulp $ npm install$ ...

    ez-jwt:简单的OAuth工具

    $audience = "https://www.googleapis.com/oauth2/v3/token"; //for google jwt this is what would default $scope = "https://www.googleapis.com/auth/content"; //for google jwt this is what would default $...

    cloud-library:爱空云图书馆

    要使用GoogleDrive API函数,必须使用Access_token。 可以按照以下步骤获取Access_token(需要client_id,client_secret和refresh_token) 使用中央电子邮件帐户登录到Google 转到Google Developer Console( ) ...

    glob-to-drive:GitHub动作,可显示所有文件,然后将其上传到Google云端硬盘

    证书可以通过创建一个OAuth用户端ID来获得(类型必须是“Web应用程序”)的GoogleAPIs页面。 另外,文件login.js使用http://localhost:3000/oauth2callback作为重定向URI,因此“授权重定向URI”只能具有一个值,...

    geemail:使用Google的Gmail REST API的Ruby宝石

    new ( 'my_oauth2_access_token' ) client . messages ( query : 'tacos' ) . each do | message | # do something with message end 发展 记录HTTP响应装置 获取访问令牌并将其提供给cURL: $ curl -i -H ...

    java后端源码部署-uaa:CloudFoundry用户帐户和身份验证(UAA)服务器

    凭据对用户进行身份验证,并且可以使用这些凭据(或其他凭据)充当 SSO 服务。 它具有用于管理用户帐户和注册 OAuth2 客户端的端点,以及各种其他管理功能。 UAA服务器 身份验证服务是uaa 。 这是一个普通的 Spring ...

    curl-cpp-wrapper:C ++中非常简单的libcurl包装器

    curl-cpp-wrapper ... 需要libcurl 如果您使用的是Visual C ++,则...nc.setUrl( " https://www.googleapis.com/oauth2/v3/token " ); nc.addQueryParam( " refresh_token " , refreshToken); nc.addQueryParam( " cli

    FCat企业级基础功能框架-其他

    10、JWT 提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。 11、Config 配置文件统一管理 ...

    Android代码-auth

    Auth—Wrapper for the Authentication Framework Provides a tested implementation for the Android Account Framework for you ...When triggering a token refresh after an access token has expired some APIs in

    mastodon-api:Mastodon API客户端库

    授权过程如下: 点击/apps端点以创建OAuth应用程序使用收到的client_id和client_secret获取授权URL 通过使用从授权页面获得的授权代码点击/oauth/token端点来获取访问令牌Mastodon.createOAuthApp(url, clientName,...

Global site tag (gtag.js) - Google Analytics