【发布时间】:2015-02-09 21:07:52
【问题描述】:
当我调用访问令牌时,我似乎没有获得刷新令牌?这是代码:
$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$client->setScopes('https://www.googleapis.com/auth/youtube');
$redirect = filter_var(URL,
FILTER_SANITIZE_URL);
$client->setRedirectUri($redirect);
$client->setApprovalPrompt("force");
$client->setState('offline');
var_dump($client->getAccessToken());
这就是我从中得到的:
string(163) "{"access_token":"","token_type":"Bearer","expires_in":3599,"created":1111111111}"
为什么我没有得到刷新令牌?
【问题讨论】:
-
真的是空白吗? access_token 为空?
-
不,不是,我只是删除了它。
-
你得到一个仍然有效的令牌,这应该是最重要的。 (AFAIK OAuth 规范不要求您每次请求时都获得一个不同的令牌。)
-
我解决了这个问题。错误是: $client->setState('offline');它应该是:$client->setAccessType('offline');