使用 OAuth 2.0 访问 Google Gmail API
Google API 使用OAuth 2.0协议进行身份验证和授权,客户端应用需要从 Google 授权服务器请求访问令牌,从响应中提取令牌,并将令牌发送到您要访问的 Google API。
使用 OAuth 2.0 访问 Google Gmail API
Google API 使用OAuth 2.0协议进行身份验证和授权,客户端应用需要从 Google 授权服务器请求访问令牌,从响应中提取令牌,并将令牌发送到您要访问的 Google API。
启用 API
任何调用 Google API 的应用都需要在 API Console中启用这些 API。
步骤:
1.首先注册开发者账号,https://console.cloud.google.com/
2.创建一个新项目
3.启用 API。API Library 列出了所有可用的 API。如果列表中没有显示可以使用搜索功能查找该 API。
配置OAuth权限请求页面
- 配置权限请求页面信息
- 配置访问范围
-
配置测试用户
创建授权凭据
-
选择凭据选项,依次点击创建凭据 > OAuth 客户端 ID
-
配置客户端ID信息
-
-
创建了凭据后就可以看到客户端ID和密钥
获取 OAuth 2.0 访问令牌
创建授权请求
根据谷歌 Google Web 授权文档,可知获取授权URL的请求是:
请求方法:Get
接口地址: https://accounts.google.com/o/oauth2/v2/auth
必填参数:
client_id:应用的客户端 ID(必需)
redirect_uri:确定在用户完成授权流程后 API 服务器会将用户重定向到何处(必需)
response_type:web授权固定填code(必需)
scope:后台配置的scope,如果有多个,用空格隔开(必需)
拼接后的请求地址:
https://accounts.google.com/o/oauth2/v2/auth?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=YOUR_SCOPE&response_type=code
Google授权页面
如果用户批准了访问请求,响应中就会包含授权代码。
授权代码响应:
http://localhost/?code=GOOGLE_RESPONSE_CODE&scope=YOUR_SCOPE&authuser=0&prompt=consent
code是谷歌生成的,用于换取token
scope是你传的scope,原样返回了
换取访问令牌
调用 https://oauth2.googleapis.com/token
端点并设置以下参数:
字段 | |
---|---|
client_id | 从 Credentials page中获取的客户端 ID。 |
client_secret | 从 Credentials page中获取的客户端密钥。 |
code | 初始请求返回的授权代码。 |
grant_type | 此字段的值必须设置为 authorization_code 。 |
redirect_uri | 重定向 URI。 |
postman验证请求:
调用 Google API
应用获得访问令牌后,就可以使用令牌代表指定用户账号调用该 API。
结语
以上就是实现Google OAuth2.0访问Google API的全部流程。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)