refreshToken 之后还需要setAccessToken 吗? - Google API PHP
Is setAccessToken necessary after refreshToken? - Google API PHP
这是我的代码:
$client = new Google_Client();
$client->setApplicationName("dayPlanner");
$client->setClientId(env('googleClientID'));
$client->setClientSecret(env('googleClientSecret'));
$client->setAccessToken(session('token'));
if($client->isAccessTokenExpired()) {
$client->refreshToken($user->refreshToken);
$token = $client->getAccessToken();
session(['token' => $token]);
$client->setAccessToken($token); // necessary..?
}
这行得通,但我不完全理解。大多数在线示例显示了 refreshToken(以及会话数据的 getAccessToken),但是 none 我已经看到然后再次使用 setAccessToken。逻辑表明这是必要的,而且它有效,但我想要一个明确的答案并更好地理解这一点。
(注意,Laravel 语法用于 setting/retriving 会话数据)
阅读 PHP API 代码应该可以回答您的问题。请参阅 the code
如果您查看 getAccessToken 代码,它只是 returns "token" 已经存在。
public 函数 getAccessToken()
{
return $this->token;
}
因此,执行 setAccessToken 来设置使用 getAccessToken 接收的令牌没有多大意义。
在refreshToken设置时间内(见代码),如果有none.
,它会更新accessToken
这是我的代码:
$client = new Google_Client();
$client->setApplicationName("dayPlanner");
$client->setClientId(env('googleClientID'));
$client->setClientSecret(env('googleClientSecret'));
$client->setAccessToken(session('token'));
if($client->isAccessTokenExpired()) {
$client->refreshToken($user->refreshToken);
$token = $client->getAccessToken();
session(['token' => $token]);
$client->setAccessToken($token); // necessary..?
}
这行得通,但我不完全理解。大多数在线示例显示了 refreshToken(以及会话数据的 getAccessToken),但是 none 我已经看到然后再次使用 setAccessToken。逻辑表明这是必要的,而且它有效,但我想要一个明确的答案并更好地理解这一点。
(注意,Laravel 语法用于 setting/retriving 会话数据)
阅读 PHP API 代码应该可以回答您的问题。请参阅 the code
如果您查看 getAccessToken 代码,它只是 returns "token" 已经存在。 public 函数 getAccessToken() { return $this->token; } 因此,执行 setAccessToken 来设置使用 getAccessToken 接收的令牌没有多大意义。 在refreshToken设置时间内(见代码),如果有none.
,它会更新accessToken