我可以为Gmail API生成访问令牌,但它们无法正常工作

时间:2019-09-15 20:04:46

标签: oauth-2.0 google-api google-oauth gmail-api google-oauth2

我需要使用Gmail API访问我的电子邮件。我的应用程序运行良好,但是由于我对帐户进行了一些更改,因此突然停止了我的一个电子邮件地址的工作:

我为我的Google帐户激活2步身份验证,然后将另一个电子邮件地址链接到我的邮箱。我仍然可以使用客户端ID,客户端密码和刷新令牌生成一些访问令牌,但是当我使用这些访问令牌发出HTTP请求时,会收到401无效凭据错误。

我已经尝试生成具有某些不同范围但存在相同问题的新凭据(客户端ID,客户端机密,刷新令牌和API密钥)。

我也尝试对我拥有的另一个Google帐户进行相同的更改(激活2个步骤,进行身份验证并将另一个电子邮件地址链接到我的邮箱),并且该帐户仍在使用该其他帐户,因此我不知道是否这是我问题的根源

我的应用每小时发送一次此HTTP请求:

POST https://www.googleapis.com/oauth2/v4/token

返回:

{'access_token': 'ya29.GluBBwcGyd2mVgyUtHLUX36caQjnznp_rohsOP3thhEJXYMdF1Z0ElUa5V1AXv1kULguOfq4tR4KApSkYhQYimmnT3Nhw4F_nSXlOVyHZRKchr_qObYd1R80qaQo', 'expires_in': 3600, 'scope': 'https://mail.google.com/ , 'token_type': 'Bearer'}

然后我对每个这样的请求都收到错误消息:

GET https://www.googleapis.com/gmail/v1/users/{my-email-adress}/messages?key={my-api-key}
Authorization: Bearer {my-access-token}

返回:

{'error': {'errors': [{'domain': 'global', 'reason': 'authError', 'message': 'Invalid Credentials', 'locationType': 'header', 'location': 'Authorization'}], 'code': 401, 'message': 'Invalid Credentials'}}

任何想法如何解决? 如果您需要更多信息,请告诉我

非常感谢您的帮助!

0 个答案:

没有答案