pro*_*uel 5 python google-api google-oauth google-api-python-client gmail-api
大约一周前,我在谷歌上设置了一个应用程序。现在,当我尝试运行时:
SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']
creds = None
if os.path.exists('token.pickle'):
with open(self.CREDENTIALS_PATH+self.conjoiner+'token.pickle', 'rb') as token:
creds = pickle.load(token)
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request()) ##error here
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Exception has occurred: RefreshError
('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'})
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
token.pickle 包含应用程序的访问令牌和刷新令牌。
令牌已过期或被撤销。”
意味着该文件中的引用令牌不再起作用,这可能是由服务器原因引起的。
以上所有信息都可以在Oauth2过期文档中找到
选项 1-3 的解决方案是简单地删除 token.pickle 文件并再次请求用户授权。
对于第四点,您应该转到 Oauth2 同意屏幕下的 Google 开发者控制台,并将您的应用程序设置为生产。然后您的刷新令牌将停止过期。然后你可以删除 token.pickle 就不会再出现这个问题了。
| 归档时间: |
|
| 查看次数: |
6075 次 |
| 最近记录: |