Google OAuth令牌请求返回“invalid_client”:“未经授权”

时间:2018-01-01 22:28:45

标签: python google-api google-oauth rauth

尝试让OAuth2 Google登录正常工作,这是我的应用程序发出的原始请求:

方法:POST

网址:https://www.googleapis.com/oauth2/v3/token

标题:Content-Type: application/x-www-form-urlencoded

值:

client_idXXX-0123456789abcdef0123456789abcdef.apps.googleusercontent.com

client_secretA1b2C3d4E5f6G7h8I9j0K1l2M

code1/A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6Q7r8S9t0U1v

grant_typeauthorization_code

redirect_urihttp://localhost:5000/callback/google/

这就是回应:

状态:401 Unauthorized

体:

{
    "error": "invalid_client",
    "error_description": "Unauthorized"
}

已经确认这是我的应用正在发出的确切请求/响应(使用Flask和rauth的Python应用),并且已经验证我可以使用Postman重现完全相同的请求/响应。

根据其他主题中的说明,我在Google API控制台中完成了以下所有操作:

  • 在“OAuth许可屏幕”设置中,将“产品名称”设置为与“项目名称”不同的内容
  • 同样在“OAuth许可屏幕”设置中,仔细检查该电子邮件是否已设置
  • 启用Google+ API
  • 启用Gmail API
  • 重新创建客户端ID /密码
  • 仔细检查客户端ID /机密值中是否没有前导或尾随空格,我已从API控制台正确复制它们

无论我做什么,仍然会得到"invalid_client": "Unauthorized"的相同回复。

对此的帮助将不胜感激。我试图在我的应用程序中设置OAuth2支持的“使用X登录”功能,让Facebook和Twitter工作没有问题,想让Google也能正常工作,但如果我无法解决这个问题,那我恐怕不行将不得不放弃谷歌认证。

1 个答案:

答案 0 :(得分:2)

无效的客户端表示您使用的客户端ID或客户端密码无效。它们必须是您从Google Developer Console下载的内容。

提示:您可能需要考虑使用Google python client