如果访问令牌已过期,如何使用刷新令牌刷新访问令牌谷歌.oauth2python中的库?

2024-04-19 20:08:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在按以下方式初始化凭据对象,并在令牌过期时刷新它。下面提到的方法。当我使用这个实例时,我得到的错误是('invalid_grant: Token has been expired or revoked.', '{\n "error": "invalid_grant",\n "error_description": "Token has been expired or revoked."\n}')

import google.auth.transport.requests
from googleapiclient.discovery import build
import google.oauth2.credentials
from oauth2client import GOOGLE_TOKEN_URI, client

try:
   self.credentials = google.oauth2.credentials.Credentials(
      self.google_access_token,
      refresh_token=self.google_refresh_token,
      token_uri=GOOGLE_TOKEN_URI,
      client_id=settings.GOOGLE_CLIENT_ID,
      client_secret=settings.GOOGLE_CLIENT_SECRET)
   if self.credential.expired:
      request = google.auth.transport.requests.Request()
      self.credentials.refresh(request)
except:
        pass

self.analytics = build('analyticsreporting', 'v4', credentials=self.credentials)

请提供建议。你知道吗


Tags: orimportselfclienttokengooglerefreshcredentials