1
我寫了一個腳本,成功地向谷歌查詢使用PHP SDK的訪問令牌。谷歌API刷新令牌
我的代碼,
require_once('_/libs/google/apiclient/autoload.php');
$client_id = '<MY_ID>';
$client_secret = '<MY_SECRET>';
$redirect_uri = '<REDIRECT_URL>';
// Config my apps information
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->addScope("https://mail.google.com/");
// When google redirects with code swap for access token
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
<------------- Try to get both tokens ----------------->
$_SESSION['access_token'] = $client->getAccessToken();
$_SESSION['refresh_token'] = $client->getRefreshToken();
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
一旦我得到了驗證碼如上和查詢顯示了訪問令牌通過getAccessToken();
它的創建和到期時間返回。
但是,當我通過getRefreshToken();
查詢刷新令牌時,它在輸出到屏幕時不會返回任何內容。
也有類似的問題問here
的問題似乎讓谷歌知道你需要離線訪問然而回答這個問題是不可轉讓的PHP SDK。