1
语境
我们成功地使用https://accounts.google.com/o/oauth2/auth以获取与以下应用程序权限的authentication_code
。GetOpenIdConnect返回凭据无效
- 知道你在谷歌
- 谁查看您的电子邮件地址
- 查看您的基本个人资料信息
我们还成功地利用https://accounts.google.com/o/oauth2/token来交换身份验证码为access_token
和id_token
。
问题
随着该access_token
,我们使用https://www.googleapis.com/plus/v1/people/me/openIdConnect获取配置文件信息。这是带有以下标题的GET请求。
Authorization: Bearer access_token
从谷歌的反应必然是这个错误:
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
This Google documentation提出了两个建议:
- 使用长寿命的刷新令牌刷新访问令牌。
- 如果失败,请指导用户完成OAuth流程,如使用Google Drive授权您的应用程序中所述。
我们尝试了这两种方法并收到相同的错误。
拯救了我的生命!为此我几乎浪费了整整一天的时间。所有这些都非常复杂,文档很常见。使用Google API是一个小小的地狱。 – Rolice