2015-02-10 31 views
1

逐日實現...谷歌API - 聯繫人,增量範圍,離線和在線訪問

我建立一個聯繫人同步到設備我們的產品(使用PHP/JavaScript的)。我們正在使用增量方法進行訪問 - 最初請求一組基本的範圍,然後當(如果)我們的客戶決定使用額外的工具時,我們想擴展這些範圍。

基地集: www.googleapis.com/auth/plus.login www.googleapis.com/auth/plus.me www.googleapis.com/auth/userinfo.email

擴展爲: www.google.com/m8/feeds www.googleapis.com/auth/contacts

我可以使用gapi.auth.signIn()調用額外的範圍,但這似乎並沒有給我要使用的「永久」訪問令牌 - 稍後向PHP中的API請求不會顯示新的範圍。這是否意味着我希望前端訪問聯繫人時,必須明確地調用gapi函數?

另外,如何獲得一個離線標記,我可以使用後臺進程進行同步?我必須爲離線訪問設置單獨的令牌嗎?我可以使用相同的標記將離線和在線訪問混合在一起,還是必須每個都有一個?

感謝, 安迪

回答

0

在線和離線訪問的區別是,當你請求一個訪問令牌,該令牌將一定時間後到期,通常爲60分鐘。過期後,用戶將不得不再次提供證書,以便您可以接收新的令牌。 在這種情況下,它是一個「在線」令牌。

當請求訪問令牌並且您提供參數access_type = offline時,您將收到一個刷新令牌。訪問令牌過期後,您可以使用刷新令牌請求新的請求令牌,因此用戶不需要再次提供憑據。

在這裏你可以找到有關的詳細信息:https://developers.google.com/accounts/docs/OAuth2WebServer#offline

希望它幫助。

+0

謝謝你的回答,但是......我讀到了。我現在有令牌和一個匹配的刷新令牌,以便在舊的令牌到期時可以獲得新的訪問令牌。使用刷新令牌可以刪除讓用戶再次給予我權限的要求。這一切對我的在線訪問都正常工作。 我的第一個問題是,我現在擁有的令牌和刷新令牌是否可以在我的批處理過程中使用。第二部分是,我怎樣才能擴展我的訪問令牌的可用範圍,從而實現脫機訪問。 – 2015-02-11 00:34:41