无法在 POSTMan 上获取 Google oAuth 2 令牌
Posted
技术标签:
【中文标题】无法在 POSTMan 上获取 Google oAuth 2 令牌【英文标题】:Could not obtain Google oAuth 2 token on POSTMan 【发布时间】:2016-07-10 12:44:14 【问题描述】:好吧,由于 Other problem(solved) 仍未解决,我正在考虑使用 POSTMan 对客户端库将执行的每个步骤进行反复试验。
所以我再次阅读了Google OAuth2的Basic steps,在开发控制台的Api Manager > Credentials处创建了另一个OAuth 2 ID,ID类型为Web Application,并将它们填写到POSTMan中:
-
POSTMan 中的新选项卡,然后单击授权标签。
选择类型为 OAuth 2.0 并选择“将令牌添加到 url”
授权网址:https://accounts.google.com/o/oauth2/v2/auth
访问令牌 URL:https://www.googleapis.com/oauth2/v4/token
客户 ID:[我刚刚收到的客户 ID]
Client Secret:[我刚刚收到的 Client Secret]
范围:[空]
授权类型:授权码
在本地请求访问令牌:已选择
点击“请求令牌”
POSTMan 回复我:“无法完成 OAuth2.0 登录”
我错过了什么吗?
(Google 重定向 URI 可以找到 here)
(API范围可以找到here)
【问题讨论】:
【参考方案1】:只有当谷歌用户通过谷歌登录页面登录时,您才能获得访问令牌。
第 1 步: 重定向 https://accounts.google.com/o/oauth2/auth?client_id=" + GoogleClientID + "&redirect_uri=" + Url.Encode(GoogleRedirectURL) + "&response_type=code&scope=email"
第 2 步: 现在您在谷歌登录页面上,您将输入您的谷歌凭据。
第 3 步: Google 会将您重定向回您在 Google Developer Console 中配置的 redirect_uri,您可以从 QueryString 中获取“代码”
第 4 步: 现在您将表格发布到https://www.googleapis.com/oauth2/v4/token 带有 client_id、client_secret、redirect_uri、code(您在步骤 3 中获得)和 grant_type=authorization_code
结果:您现在应该会收到来自 Google 的 access_token
【讨论】:
【参考方案2】:BigHomie 对“电子邮件”范围的建议也对我有用。 但是我使用了与 BigHomie 不同的 Auth URL 和 Access Token URL,因为我认为它已经更新了。
授权网址: https://accounts.google.com/o/oauth2/auth
访问令牌网址: https://accounts.google.com/o/oauth2/token
【讨论】:
【参考方案3】:我按照 Rajat 的指示进行操作,但之后我再次尝试了 OP 所做的操作,但这次将范围设置为“电子邮件”而不是将其留空,我收到了输入我的 gmail 凭据的提示,并且能够获取访问令牌。
【讨论】:
以上是关于无法在 POSTMan 上获取 Google oAuth 2 令牌的主要内容,如果未能解决你的问题,请参考以下文章
Express 服务器无法在 Postman 上获取 /products
无法通过 Postman 在 Django oauth 工具包客户端凭据授予中获取访问令牌