2012-06-11 52 views
1

我正在尝试为我的帐户使用谷歌分析API。所以,我首先允许应用程序访问离线刷新令牌。当我尝试刷新令牌时购买“无效授权”错误。试图刷新与PHP客户端库和手动卷曲。谷歌刷新令牌获得无效授予错误

这是手动的卷曲度:

$oauth2token_url = "https://accounts.google.com/o/oauth2/token"; 
    $clienttoken_post = array(
    "client_id" => 'xxxxxxxx-d28qutrse5bvaf7n4a37qgs5ieijvp9n.apps.googleusercontent.com', 
    "client_secret" => 'xxxxxxxxxxxxx'); 

     $clienttoken_post["refresh_token"] = $refresh_token; 
     $clienttoken_post["grant_type"] = "refresh_token"; 

    $curl = curl_init($oauth2token_url); 

    curl_setopt($curl, CURLOPT_POST, true); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $clienttoken_post); 
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 

    $json_response = curl_exec($curl); 
    curl_close($curl); 

    $authObj = json_decode($json_response); 

    print_r($authObj); 


    exit(); 

刷新令牌我用simple.php例子得到了与以前的电话:

require_once '../../src/apiClient.php'; 
require_once '../../src/contrib/apiAnalyticsService.php'; 
session_start(); 

$client = new apiClient(); 
$client->setApplicationName("Google Analytics PHP Starter Application"); 

// Visit https://code.google.com/apis/console?api=analytics to generate your 
// client id, client secret, and to register your redirect uri. 
$client->setClientId('xxxxxxxxx-d28qutrse5bvaf7n4a37qgs5ieijvp9n.apps.googleusercontent.com'); 
$client->setClientSecret('xxxxxx'); 
$client->setRedirectUri('https://www.xxxxxxxxxx.org/oauth2callback/google-api-php-client/examples/analytics/simple.php'); 
$client->setDeveloperKey('xxxxxxx'); 



if (isset($_GET['logout'])) { 
    unset($_SESSION['token']); 
} 

if (isset($_GET['code'])) { 
    $client->authenticate(); 
    $_SESSION['token'] = $client->getAccessToken(); 
    header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); 
} 

if (isset($_SESSION['token'])) { 
// echo $_SESSION['token']; 
    $client->setAccessToken($_SESSION['token']); 
} 
echo $client->getAccessToken() 

回答

5

如果有人有兴趣,我终于解决了这个问题后,几小时:

我去了oauth操场:https://code.google.com/oauthplayground 在右边,有一个设置按钮。选中“使用您自己的OAuth凭据”。从那里拿走了刷新标记,并且没有问题。

1

如果别人运行到这个问题......

我们有一个问题,即同一职位要求不会开始工作,但工作以后。

对我们来说,它看起来像谷歌是非常挑剔的时间 - 尝试减去5分钟。