POSTMan无法获取谷歌oAuth 2令牌

10

既然其他问题(已解决)仍未解决,我想使用POSTMan在客户端库进行的每个步骤上进行试错。

因此,我再次阅读了Google OAuth2的基本步骤,在Dev Console的Api Manager > Credentials中创建了另一个OAuth 2 ID,ID类型为Web应用程序,并将它们填入POSTMan中:

  1. 在POSTMan中打开一个新的标签页,然后点击“Authorization”标签。
  2. 选择类型为OAuth 2.0,并选择“将令牌添加到URL”
  3. 授权URL:https://accounts.google.com/o/oauth2/v2/auth
  4. 访问令牌URL:https://www.googleapis.com/oauth2/v4/token
  5. 客户端ID:[我刚刚收到的客户端ID]
  6. 客户端密钥:[我刚刚收到的客户端密钥]
  7. 范围:[空白]
  8. 授权类型:授权码
  9. 本地请求访问令牌:已选中
  10. 点击“请求令牌”
  11. POSTMan回复我:“无法完成OAuth2.0登录”

我是否漏掉了什么?

(Google重定向URI可以在这里找到)

(API范围可在此处找到)

3个回答

7
当Google用户通过Google登录页面登录时,您才能获得访问令牌。
步骤1: 重定向到https://accounts.google.com/o/oauth2/auth?client_id=" + GoogleClientID + "&redirect_uri=" + Url.Encode(GoogleRedirectURL) + "&response_type=code&scope=email"
步骤2: 现在您已经进入了Google登录页面,您需要输入您的Google凭据。
步骤3: Google会将您重定向回您在Google Developer Console中配置的重定向URI,并且您可以从QueryString中获取“code”。
步骤4: 现在,您需要向https://www.googleapis.com/oauth2/v4/token提交一个表单,其中包含客户端ID、客户端密钥、重定向URI、代码(您在步骤3中获取)以及授权类型=authorization_code。
结果:您应该现在可以从Google获得访问令牌。

2

1

我按照Rajat的指示操作,成功了。但之后我又尝试了一下OP所做的操作,只不过这次我将范围设置为“email”,而不是留空。然后我收到一个提示要求输入我的Gmail凭据,随后便能获得访问令牌。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接