我正在尝试使用 Google Analytics API 并在用户离线时访问。我最初使用 oauth2decorator_from_clientsecrets 获取凭据(默认情况下应该请求离线访问)。在令牌按预期过期之前,我可以访问 API 1 小时。在此之后,我最终得到一个错误:
“AccessTokenRefreshError:invalid_grant”
我正在使用以下代码使用存储的凭据访问 API:
credentials = StorageByKeyName(CredentialsModel, user_id, 'credentials').get()
http = httplib2.Http()
http = credentials.authorize(http)
analytics = build("analytics", "v3", http=http)
query = analytics.management().webproperties().list(accountId="123456").execute()
我怀疑这与没有正确获得初始离线访问权限有关。当用户最初被定向到授权网址时,我看不到预期的确认
“在我不使用应用程序时执行这些操作”
相反,我看到的是:
另外,我正在为我的应用程序使用“Web 应用程序的客户端 ID”。
干杯!