2017-10-17 91 views

回答

1

您可以訪問使用服務帳戶的谷歌Analytics API的任何一個在文檔中發現here

<?php 

// Load the Google API PHP Client Library. 
require_once __DIR__ . '/vendor/autoload.php'; 

$analytics = initializeAnalytics(); 
$profile = getFirstProfileId($analytics); 
$results = getResults($analytics, $profile); 
printResults($results); 

function initializeAnalytics() 
{ 
    // Creates and returns the Analytics Reporting service object. 

    // Use the developers console and download your service account 
    // credentials in JSON format. Place them in this directory or 
    // change the key file location if necessary. 
    $KEY_FILE_LOCATION = __DIR__ . '/service-account-credentials.json'; 

    // Create and configure a new client object. 
    $client = new Google_Client(); 
    $client->setApplicationName("Hello Analytics Reporting"); 
    $client->setAuthConfig($KEY_FILE_LOCATION); 
    $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']); 
    $analytics = new Google_Service_Analytics($client); 

    return $analytics; 
} 

function getFirstProfileId($analytics) { 
    // Get the user's first view (profile) ID. 

    // Get the list of accounts for the authorized user. 
    $accounts = $analytics->management_accounts->listManagementAccounts(); 

    if (count($accounts->getItems()) > 0) { 
    $items = $accounts->getItems(); 
    $firstAccountId = $items[0]->getId(); 

    // Get the list of properties for the authorized user. 
    $properties = $analytics->management_webproperties 
     ->listManagementWebproperties($firstAccountId); 

    if (count($properties->getItems()) > 0) { 
     $items = $properties->getItems(); 
     $firstPropertyId = $items[0]->getId(); 

     // Get the list of views (profiles) for the authorized user. 
     $profiles = $analytics->management_profiles 
      ->listManagementProfiles($firstAccountId, $firstPropertyId); 

     if (count($profiles->getItems()) > 0) { 
     $items = $profiles->getItems(); 

     // Return the first view (profile) ID. 
     return $items[0]->getId(); 

     } else { 
     throw new Exception('No views (profiles) found for this user.'); 
     } 
    } else { 
     throw new Exception('No properties found for this user.'); 
    } 
    } else { 
    throw new Exception('No accounts found for this user.'); 
    } 
} 

function getResults($analytics, $profileId) { 
    // Calls the Core Reporting API and queries for the number of sessions 
    // for the last seven days. 
    return $analytics->data_ga->get(
     'ga:' . $profileId, 
     '7daysAgo', 
     'today', 
     'ga:sessions'); 
} 

function printResults($results) { 
    // Parses the response from the Core Reporting API and prints 
    // the profile name and total sessions. 
    if (count($results->getRows()) > 0) { 

    // Get the profile name. 
    $profileName = $results->getProfileInfo()->getProfileName(); 

    // Get the entry for the first entry in the first row. 
    $rows = $results->getRows(); 
    $sessions = $rows[0][0]; 

    // Print the results. 
    print "First view (profile) found: $profileName\n"; 
    print "Total sessions: $sessions\n"; 
    } else { 
    print "No results found.\n"; 
    } 
} 

注:谷歌/ autoload.php沒有的OAuth其在谷歌PHP客戶端庫。

+0

在我的服務器廠商/ autoload.php文件沒有工作或沒有發現那位:( –

+0

你可以幫我解決這個問題? –

+0

確保正確運行作曲家在服務器上安裝該庫。自述發現這裏的說明https://github.com/google/google-api-php-client – DaImTo