2016-04-27 101 views
1

我正在使用Google API连接到AdSence,并且我需要我的脚本在后台运行 - 这意味着无需用户干预。手动刷新令牌 - Google API

我正在用PHP写我的代码。这就是我已经建立了我的令牌:

$token = array(
    'access_token' => 'XXXX', 
    'refresh_token' => 'XXXX', 
    'expires_in' => 3600, 
    'token_type' => 'Bearer', 
    "created" => 1461760640 
    ); 
$json_token = json_encode($token); 
$client->setAccessToken($json_token); 

现在,令牌的生命时间为一小时。 我需要刷新脚本中的标记 - 并将新标记插入到“$ token”变量 - 因此我的脚本可以单独运行。

我用两个谷歌的图书馆:

  1. 谷歌的API的PHP客户端-1主
  2. googleads-的AdSense-例子主

有谁知道如何手动刷新令牌? 谢谢!

+1

$客户 - > refreshToken($ google_token-> refresh_token);然后$ client-> getAccessToken()我认为 – DaImTo

+0

@DaImTo什么是$ google_token变量?谢谢! – Bramat

+1

可能是你的$ token [refresh_token]我的PHP有点生疏抱歉。 – DaImTo

回答

0

感谢@DalmTo,我管理手动刷新令牌。

这是我的新代码:

$refrehToken='XXXX'; 
$client->refreshToken($refrehToken); 
$tempToken=$client->getAccessToken(); 
$tempToken=json_decode($tempToken, true); 

$token = array(
     'access_token' => $tempToken["access_token"], 
     'refresh_token' => $refrehToken, 
     'expires_in' => 3600, 
     'token_type' => 'Bearer', 
     "created" => 1461760640 
); 
$json_token = json_encode($token); 
$client->setAccessToken($json_token);