【问题标题】:Using Google APIs from automated task with OAuth通过 OAuth 使用来自自动化任务的 Google API
【发布时间】:2013-07-09 01:10:20
【问题描述】:

我有一个常规的自动化任务,需要在 Google Analytics API 中查询用户数据。它必须能够在没有人工干预的情况下运行。

(详情,详情:我目前正在使用 Ruby gems legatooauth 进行查询。)

尽我所知,因为我想在 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


【解决方案1】:

哦,你好,它叫做Service Account。对 Google 文档的初步粗略阅读让我认为服务帐户无法访问用户数据,但事实证明这是正确的做法。

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 2011-06-20
    • 2015-09-14
    • 2011-09-18
    • 2021-05-31
    • 1970-01-01
    相关资源
    最近更新 更多