我正在使用具有預構建OAuth2連接器的圖形框架構建集成組件。 此框架需要進行以下的OAuth的v2的領域:OAuth v2(Google API)失效訪問令牌
- 格蘭特型
- 範圍
- Auth服務器URL
- 客戶編號
- 客戶端密鑰
- 訪問令牌
- 刷新令牌
我需要從Google Analytics API獲取數據,因此我去了Google開發者控制檯 (https://console.developers.google.com/project/927890000889/apiui/credential)。我生成了一個'Web應用程序的客戶端ID'。從這個對象的參數,我能夠填補一些參數上面
- 格蘭特類型:「authorisation_code」
- 客戶ID:「RANDOMCHARSam5o37nsiu730d.apps.googleusercontent.com」
- 客戶祕密:「 RANDOMCHARSiSwBA5OH5qYLUa」
然後使用谷歌OAuth園地(https://developers.google.com/oauthplayground),我是能夠填補缺失位
- 適用範圍: 'https://www.googleapis.com/oauth/analytics'
- Auth服務器URL: 'https://accounts.google.com/o/oauth2/auth'
- 訪問令牌: 'RANDOMCHARSQAQv4HRF5-JsQEzUS61lj2YremyCocv0PQ4-agpzJe'
- 刷新標記: 'RANDOMCHARSLPJnL4FPaDc2KP6V8kCzjjHO2Kj4Np_3X0'
一切正常,我我有權訪問並從Google Analytics獲取數據,但僅僅幾分鐘後,如果我重試,我會收到授權失敗錯誤。 我相信問題與訪問令牌的到期有關,但我不知道如何解決這個問題。 值得一提的是這個活動是批量的(沒有人爲交互),所以沒有人可以請求一個新的訪問令牌。 集成框架是不可擴展的(我不能編寫代碼來更新代碼),所以我相信有一種方法可以獲得永不過期的訪問令牌或某種其他機制來實現相同的結果。底線,我不確定自從一開始就正確接近要求(Web應用程序的客戶端ID)。
任何幫助是非常讚賞, 喬瓦尼
嘿菲利普,感謝您的幫助。 我看了一下你給我的鏈接。 我的理解是,當access_token過期時,refresh_token不會。 因此,一旦access_token過期,如果我使用refresh_token發送請求,則Google Oauth實施會將我可以用來訪問資源的新access_token發送給我(在我的情況下,向Google Analytics API進行身份驗證)。 我的理解是否正確? 乾杯,喬凡尼 – 2014-09-26 04:18:50
是的,這是完全正確的。請記住,刷新令牌請求可能會失敗。在原授權人撤銷訪問的情況下會發生這種情況,但如果您是原始授權人,那麼顯然您不必擔心這一點。 – 2014-09-26 05:02:35
我們可以通過刷新令牌請求多少訪問令牌嗎?所以我可以永久使用它,並按時訪問用戶?是嗎? – 2016-08-12 10:43:47