我的應用程序需要使用Google plus註冊用戶,然後顯示用戶的配置文件數據。當用戶在Google plus上編輯他們的個人資料並再次訪問我的應用程序時,應用程序需要顯示更新的數據。因此,應用程序需要存儲access_token和refresh_token以供將來使用。我想用google的js api管理所有這些,而不需要任何服務器端的google-api-client。Google oauth使用js api獲取refresh_token
問題是我無法使用js api檢索refresh_token。我已經安裝了一個jsfiddle here。在谷歌加上相關的代碼如下:
$('#signInButton').click(function() {
attributes = {
'accesstype': 'offline',
'clientid': "260932337012-1gdbsh3p7oknkjmeaa7m9q7e6nhhgd9c.apps.googleusercontent.com",
'scope': 'email profile',
'cookiepolicy': 'single_host_origin',
'approvalprompt': 'force',
'callback': signInCallback
};
gapi.auth.signIn(attributes);
});
function signInCallback(authResult) {
alert(authResult.request_token);
}
設置接入類型離線的不返回refresh_token
inspite。我在這裏做錯了什麼?
在此先感謝。
這是沒有答案(對不起),但我在類似的小船試圖找出一個令人不安的問題與谷歌API休息服務,並得到自己的幫助很少。 – kstubs
@kstubs我找不到純js的方式。谷歌的文檔建議稱爲一次性代碼流。它涉及使用js api獲取access_token和代碼,然後使用服務器端谷歌庫來交換代碼以獲取refresh_token。如果你使用的是ruby,那麼下面的[code](https://github.com/notalex/g_plus)應該是。或者,您也可以逐字閱讀Google的文檔[此處](https://developers.google.com/+/web/signin/server-side-flow)。 – Alex
謝謝亞歷克斯。這是一種可能性(有點)不完全是我今天想要完成的。祝你好運! – kstubs