从Google App Engine连接到Google Analytics,无需每60分钟进行一次身份验证

时间:2017-03-16 08:56:43

标签: python google-app-engine google-analytics google-cloud-platform google-analytics-api

我有一个独特的约束,可以从应用引擎连接到谷歌分析 - 检索数据进行计算并更改网站中的数据。

一切都必须自动完成,无需人工干预。但谷歌身份验证存在问题。

我按照各种教程从应用引擎连接到GA,但似乎身份验证是一个大问题。

例如:遵循以下教程,当我在本地运行代码时,它将打开浏览器进行身份验证并能够成功检索结果。 https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-py

另外,遵循其中一个好的链接http://www.marinamele.com/use-google-analytics-api-with-python但是当我们在云中运行时,它似乎是身份验证问题。

还尝试将凭据存储在client_secrets.json文件中并部署到app引擎,并且它工作了60分钟,之后access_token已过期且无法访问分析API并且抛出了500错误。

有关如何通过crob作业从谷歌应用引擎连接谷歌分析以获取分析数据的任何建议,进行计算并更改数据库以在网站中显示不同的内容。

1 个答案:

答案 0 :(得分:0)

您应该使用offline access

首先,您需要生成必要的令牌(访问令牌和刷新令牌):关注step by step或查看complete example

获得令牌后,你应该有一个类似于这个的json:

{ 
    "access_token" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 
    "token_type" : "Bearer", 
    "expires_in" : 3600, 
    "refresh_token" : "X/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
}

使用某些值代替X's

您应该使用此json进行身份验证。在内部,如果access token过期,则身份验证将使用refresh token生成新的。{/ p>

整个协议称为Auth 2.0,如果您有兴趣阅读更多相关内容,check here