【发布时间】:2013-07-09 01:10:20
【问题描述】:
我有一个常规的自动化任务,需要在 Google Analytics API 中查询用户数据。它必须能够在没有人工干预的情况下运行。
(详情,详情:我目前正在使用 Ruby gems legato 和 oauth 进行查询。)
尽我所知,因为我想在 Google Analytics 上查询用户数据,我必须使用 OAuth 2.0。然而,我获取的访问令牌会在 1 小时后过期,并且刷新令牌似乎仅在存在有效访问令牌的情况下才有效(?)。
我获得了一个长期存在的 OAuth 1.0a 令牌,用于作为日常 cron 作业运行的 twitter 机器人脚本。几年来它每天都在运行,没有任何问题。
似乎对于 Google/OAuth 2.0,我必须手动获取令牌,让任务偶尔刷新其令牌,并在作业终止时手动重新获取令牌。我很难相信事实确实如此。我错过了什么?
【问题讨论】:
-
是的,你错过了一些东西。您是正确的,访问令牌仅持续 1 小时。但是您应该可以随时使用刷新令牌刷新它(无需手动干预)。你一定做错了什么。再次检查文档。我创建了基于 Windows 的查询 GA 数据的服务,它是完全自动化的。您应该使用 accounts.google.com/o/oauth2/token 调用。
-
我可能错误地使用了刷新令牌——文档很糟糕——但我在下面提到的服务帐户已经成功了。
标签: ruby google-analytics-api google-oauth