如何使用JavaScript为Google API生成访问令牌(以备将来使用)?

时间:2016-11-25 10:43:06

标签: javascript google-api google-analytics-api google-oauth2

我想从Google分析中获取数据(网页浏览,会话,用户和所有内容)并将其显示在其他网站上,但我的问题是我不知道如何使用JavaScript获取访问令牌。

我引用了一些Google文档来获取访问令牌Query ExplorerOAuth 2.0 Playground,但此访问令牌在60分钟后过期,我想保存此访问令牌以供将来使用(长期访问令牌)。任何人都知道如何使用js获取访问令牌或如何获取刷新令牌以供将来使用。

每当我使用过期的访问令牌并触发API时,我都会收到此错误:

{"error":{"errors":[{"domain":"global","reason":"authError","message":"Invalid Credentials","locationType":"header","location":"Authorization"}],"code":401,"message":"Invalid Credentials"}}  

Query Explorer生成的Google Analytics(分析)API包含access_token。

https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3A123456&start-date=2016-10-21&end-date=2016-11-20&metrics=ga%3Asessions%2Cga%3Apageviews&dimensions=ga%3AlandingPagePath&start-index=3&max-results=1&access_token=za29.aaaaaaaaabbbbbbbbbccccccccdddddddmmvermrm

1 个答案:

答案 0 :(得分:1)

访问令牌只有60分钟。

您正在寻找的是刷新令牌。只要它们有效,Refresh tokens使用就是好的。它们可用于随时从服务器请求新的访问令牌。

回答:无法延长访问令牌的时间。无法使用JavaScript获取刷新令牌。这可能是出于安全原因。

选项:如果要获取刷新令牌,请切换到服务器端编程语言。如果这是您自己的个人帐户,并且您不会访问用户数据,我建议您查看service accounts。您还需要为服务帐户使用服务器端语言。