1

我想從Google分析中獲取數據(Pageview,Session,Users和全部)並在另一個網站上顯示它,但我的問題是我不知道如何使用JavaScript獲取訪問令牌。如何使用JavaScript爲Google API生成訪問令牌(以備將來使用)?

我提到了一些谷歌文檔,以便獲得訪問令牌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產生我的谷歌分析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 
+0

您需要閱讀OAuth文檔https://developers.google.com/identity/protocols/OAuth2 – Liam

+0

對不起,我已經閱讀過好幾次,但我沒有收到:(如何獲得access_token?@Liam –

回答

1

訪問令牌僅適用於60分鐘。

你在找什麼是刷新令牌。只要它們有效,就使用Refresh tokens。它們可以隨時用於從服務器請求新的訪問令牌。

答案:無法延長訪問令牌的有效時間。用JavaScript獲取刷新標記是不可能的。這可能是出於安全原因。

選項:如果要獲取刷新令牌,請切換到服務器端編程語言。如果這是您自己的個人帳戶,並且您不會訪問用戶數據,我會建議您調查service accounts。您還需要爲服務帳戶使用服務器端語言。

+0

好吧,谷歌分析帳戶是我的。我想顯示在另一個網站上的數據使用谷歌分析API不同的2用戶,所以這是什麼解決方案?@DalmTo –

+0

假設你有權訪問這個其他網站。服務賬戶,它的easer,你不必去處理Oauth2的麻煩,你需要一個服務器端編程語言,比如php或python,你可以嘗試閱讀我的文章,應該解釋它多一點,然後googles文檔http://www.daimto.com/google-developer-console-service-account/ – DaImTo

+1

@DalmTo我正在閱讀你的文章。可能是這個w應該有幫助。 –

相關問題