我一直在四處搜索並閱讀php庫,以找出在第一次初始oAuth請求後進行永久身份驗證的最佳方式。Google Drive API刷新令牌 - 這是使用php客戶端庫進行身份驗證的正確方法嗎?
下面的代碼看起來工作正常,但我的問題是關於
$client->refreshToken($refresh_token);
編輯:我看了一些更多的代碼,這並不似乎是正確的做法。當我打電話給setAccessToken
時,我嘗試使用我的刷新標記,但這也不起作用。這是記錄在任何地方?
這是設置刷新令牌的正確方法嗎?這個令牌會過期嗎?
<?php
require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_DriveService.php';
$client_id = 'CLIENT ID';
$client_secret = 'CLIENT SECRET';
$refresh_token = 'REFRESH TOKEN';
$client = new Google_Client();
// Get your credentials from the APIs Console
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri('http://redirecturl.com');
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$client->setAccessType('offline');
$client->refreshToken($refresh_token);
?>
這是檢索訪問令牌的正確方法嗎?有沒有拋出異常?你確定你的客戶端ID和密碼是你檢索刷新令牌的嗎?刷新令牌永不過期。 –
不行,但我查看了庫代碼,它似乎在每次執行刷新令牌時發出一個http請求。 –
是的。你應該做的是永久保留你的訪問令牌並刷新,如果它過期。我們的客戶端libs通常可以無縫地完成這項工作,但是PHP客戶端缺少一些實現來處理這種情況。 –