2013-12-23 2 views
0

У меня возникли проблемы с интеграцией google analytics api с моим веб-сайтом php. Я пытаюсь показать данные на своем веб-сайте, не введя пользователей в Google, поэтому я использую метод учетной записи службы. Я также попытался использовать hello world analytics code, и это дает мне ту же ошибку.API Google Analytics PHP «Клиент OAuth был отключен»

Полное сообщение об ошибке: Ошибка обновления токена OAuth2, сообщение: '{"error": "disabled_client", "error_description": "Клиент OAuth отключен." } '

<?php 
require_once('google-api/Google_Client.php'); 
require_once('google-api/contrib/Google_AnalyticsService.php'); 

session_start(); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 
<body> 
<?php 
$KEY_FILE = 'path_to_key_file/123-privatekey.p12'; //KEY FILE  

$client = new Google_Client(); 
$client->setApplicationName('AppName'); //APP NAME 

$account = '[email protected]'; //FOUND IN CLIENT SERVICE EMAIL ADDRESS 



$client->setAssertionCredentials(new Google_AssertionCredentials(
    $account, 
    array('https://www.googleapis.com/auth/analytics.readonly'), 
    file_get_contents($KEY_FILE)) 
); 

$client->setClientId('123.apps.googleusercontent.com'); //CLIENT ID 
$client->setAccessType('offline_access'); // this may be unnecessary? 


if (!$client->getAccessToken() && false) { 
    $authUrl = $client->createAuthUrl(); 
    print "<a class='login' href='$authUrl'>Connect Me!</a>"; 

} else { 
    // Create analytics service object. See next step below. 
    if ($client) 
    { 
     // Create analytics service object. See next step below. 
     //$analytics = new Google_AnalyticsService($client); 
     //runDemo($analytics); 
     $ids = "ga:" . "46052980"; 
     $startDate="2013-12-12"; 
     $endDate="2013-12-20"; 
     $metrics="ga:visits"; 
     try { 
      $analytics = new Google_AnalyticsService($client); 
      $results = $analytics->data_ga->get($ids, 
          $startDate, 
           $endDate,'ga:visits'); 
      /*echo '<b>Number of visits this week:</b> '; 
      echo $results['totalsForAllResults']['ga:visits']; 
      */ 
     } catch(Exception $e) { 
      echo 'There was an error : - ' . $e->getMessage(); 
     } 


    } else { 
     echo "error"; 
     echo $key; 
    } 
} 

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

?> 
</body> 
</html> 

ответ

0

Теперь вы должны использовать OAuth2. Посмотрите на sample code for PHP. Обратите внимание, что сначала необходимо зарегистрировать свое приложение в Консоли API Google, чтобы получить идентификатор клиента, секрет клиента и ключ API.

Смежные вопросы