通过gmail api创建草稿会导致invalid_grant错误 - 提供了适当的范围

时间:2017-07-21 13:39:52

标签: gmail-api

创建草稿时出现invalid_grant错误。 我要求的范围:

https://www.googleapis.com/auth/gmail.modify 
https://www.googleapis.com/auth/userinfo.profile 
https://www.googleapis.com/auth/contacts.readonly 
https://www.google.com/m8/feeds/ 
https://mail.google.com/ 
https://www.googleapis.com/auth/gmail.settings.basic 
https://www.googleapis.com/auth/calendar

我使用python库与Gmail API进行交互( 主要问题是,这有时会按预期工作,有时它不起作用,我不知道为什么。 我的代码看起来就像这里的例子:https://developers.google.com/gmail/api/v1/reference/users/drafts/create

1 个答案:

答案 0 :(得分:2)

根据此thread,导致invalid_grant错误的可能问题是服务器的时钟与NTP不同步和/或您已超出刷新令牌限制。此page还建议您确保在请求中指定access_type=offline

这是一个相关的SO post,列出了问题可能原因的清单:

  
      
  1. 服务器时钟/时间不同步
  2.   
  3. 未授权离线访问
  4.   
  5. 受Google限制
  6.   
  7. 使用过期的刷新令牌
  8.   
  9. 用户已停用6个月
  10.   
  11. 使用服务工作者电子邮件而不是客户端ID
  12.   
  13. 在短时间内访问令牌太多
  14.   
  15. 客户端SDK可能已过时
  16.   
  17. 不正确/不完整的刷新令牌
  18.   
  19. 用户已主动撤销对我们应用的访问
  20.   
  21. 用户已重置/恢复其Google密码
  22.   

希望这有帮助!