3

我正在尝试使用 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”。

干杯!

4

1 回答 1

3

我不喜欢整天花在这个问题上,但这是我的解决方案。

撤销了我从用户那里创建的应用程序,然后我删除了从我的数据库中存储的凭据。

我敢肯定我已经这样做了作为第一步,但显然不是。

我的生命中有10个小时我不会回来。希望这对某人有用。

于 2013-08-29T08:56:44.733 回答