kos*_*tas 3 authentication oauth google-oauth gmail-api google-oauth2
我正在尝试在没有Google Dll的情况下使用Gmail API,并且只想将其用于HTTP请求。如何使用范围进行身份验证和授权(例如使用Google dll创建服务)?
我收到一个错误
您可以使用可以处理HTTP POST和HTTP GET的任何语言向Google进行身份验证。
注意:client_id,redirect_uri,client_secret是您在Google Developers Console中为您的应用设置的所有值。范围取决于您要访问的Google Api,然后可以用逗号分隔。在此示例中,我将使用Google Analytics(分析)范围。
第一步请求访问:
这是您需要向请求访问的用户显示的URL。这是一个HTTP Get调用,可以放在任何Web浏览器中。 Note: response_type=code
https://accounts.google.com/o/oauth2/auth?client_id={clientid}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/analytics.readonly&response_type=code
Run Code Online (Sandbox Code Playgroud)
第二步:
他们点击上面的链接后,您将获得验证码。
以下请求将代码交换为访问令牌和刷新令牌。这是一个HTTP POSTNote: grant_type=authorization_code
https://accounts.google.com/o/oauth2/token
code=4/X9lG6uWd8-MMJPElWggHZRzyFKtp.QubAT_P-GEwePvB8fYmgkJzntDnaiAI&client_id={ClientId&client_secret={ClientSecret}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code
Run Code Online (Sandbox Code Playgroud)
响应:
{ "access_token" : "ya29.1.AADtN_VSBMC2Ga2lhxsTKjVQ_ROco8VbD6h01aj4PcKHLm6qvHbNtn-_BIzXMw", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/J-3zPA8XR1o_cXebV9sDKn_f5MTqaFhKFxH-3PUPiJ4" }
Run Code Online (Sandbox Code Playgroud)
使用刷新令牌:
从上述请求中获得的access_token是用于向该服务发出请求的东西。一小时后,您的访问令牌将过期,您将需要请求一个新的access_token,然后获取上面获得的refresh_token并将其HTTP发布到:Note: grant_type=refresh_token
https://accounts.google.com/o/oauth2/token
client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}&refresh_token=1/ffYmfI0sjR54Ft9oupubLzrJhD1hZS5tWQcyAvNECCA&grant_type=refresh_token
Run Code Online (Sandbox Code Playgroud)
这是响应:
{ "access_token" : "ya29.1.AADtN_XK16As2ZHlScqOxGtntIlevNcasMSPwGiE3pe5ANZfrmJTcsI3ZtAjv4sDrPDRnQ", "token_type" : "Bearer", "expires_in" : 3600 }
Run Code Online (Sandbox Code Playgroud)
我的完整教程Google 3有腿的oauth2流
用法:
您希望使用的对Gmail api的任何请求最终都只需要添加access_token = yourtoken即可,您应该可以访问。
或者您可以设置标题。
Authorization Bearer accessToken
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4018 次 |
| 最近记录: |