2017-01-03 123 views
0

我正在研究谷歌驅動器文件上傳Rest API。用戶給我的谷歌驅動器應用程序的權限。現在我的應用程序中有一個登錄註銷系統,用戶可以將文件上傳到不同的帳戶。Google Drive問題

技術上,我用戶認證使用該我生成"access_token"每個離線請求得到一個"refresh_token"。我在數據庫中存儲了'refresh_token'。當用戶註銷時,我將其從數據庫中刪除。

如果有[email protected]用戶登錄,許可從我的谷歌雲端硬盤應用和註銷後上傳一些文件。此用戶再次嘗試使用相同的帳戶登錄,它不會生成「refresh_token」或請求應用程序權限,因爲它已由用戶提供。

我想刪除用戶在註銷時的應用權限。或者我想通過新的認證和許可獲得新的"refresh_token"

請指導我解決這個問題。

預先感謝您。

+1

你可以撤銷一個令牌https://developers.google.com/identity/protocols/OAuth2WebServer#offline,或者你可以只提示他們一個新的 – DaImTo

+0

@DalmTo如何提示新的refresh_token?請指導我,因爲我是新的谷歌驅動器API。 – Hardik

+1

與您獲得第一個刷新令牌的方式相同。您將不得不要求他們再次驗證您的身份。 – DaImTo

回答

0

如何刷新令牌?

您將使用$客戶 - > refreshToken($ refreshToken)像

if ($client->isAccessTokenExpired()) { 
$refreshToken = $client->getRefreshToken(); 
$client->refreshToken($refreshToken); 
$newAccessToken = $client->getAccessToken(); 
$newAccessToken['refresh_token'] = $refreshToken; 
file_put_contents($credentialsPath, json_encode($newAccessToken)); 
} 

嘗試檢查樣品上google api php library GitHub上。