我是google客户端身份验证新手。我正在尝试使用从此处下载的这个php google客户端将文件上传到我的google驱动器https://github.com/google/google-api-php-client
public function oauth2callback(){
set_include_path(get_include_path() . PATH_SEPARATOR . ROOT .DS. "vendors");
require_once 'Google/Client.php';
$client = new Google_Client();
$client->setClientId('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
$client->setClientSecret('xxxxxxxxxxxxxxxxx');
$client->setRedirectUri('http://example.com/auth/oauth2callback');
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$client->setState('offline');
$authUrl = $client->createAuthUrl();
if (isset($_GET['code'])) {
$authCode = trim($_GET['code']);
$accessToken = $client->authenticate($authCode);
print_r($accessToken);
$client->setAccessToken($accessToken);
}
if ($client->getAccessToken()) {
// To do
}else{
$authUrl = $client->createAuthUrl();
echo "<a href='$authUrl'>Login Now</a>";
}
}
在回复中,我只接受了这个
{"access_token":"ya29.eQAeXvi4c5CAGRwAAAAKr55Tljr6z_GpdfjyY0xbrD15XGikNRL-D724Hx1L_g","token_type":"Bearer","expires_in":3600,"created":1410085058}
没有任何刷新令牌。
我只想从响应中获取刷新令牌供以后使用。
我也跟着this question
将状态设置为离线,撤消属于此应用的所有先前访问权限, 甚至尝试过新的帐户/应用..但从未收到刷新令牌..
请大家帮帮我......
答案 0 :(得分:1)
我错过了access_type = offline ..
所以,添加
$client->setAccessType('offline');
修复了问题。