2017-09-10 75 views
7

wiem, jak uzyskać dostęp do danych Google Analytics Studio Danych lub with Google Apps script w javascript:Pobiera liczbę odwiedzających ze skryptu

var account = Analytics.Management.Accounts.list().items[0]; 
var webProperties = Analytics.Management.Webproperties.list(account.id); 
... 
var report = Analytics.Data.Ga.get(tableId, startDate, endDate, metric, 
    options); 

Ale w PHP, jak to możliwe, aby odzyskać liczby odwiedzających o charakterze konkretna witryna lub określona strona z konta Google Analytics/usługi/widoku? tj:

wejściowe: Analityka konto login/hasło kodu strona 'UA-XXXXX-Y'

/wyjście: [19873, 17873, 13999, 21032, ..., 16321] (czyli liczby odwiedziny pod numerem www.example.com dla każdego z ostatnich 30 dni, jako listę liczb całkowitych lub JSON)

+0

Jeśli jesteś zadowolony z używania v3 interfejsu API, spójrz na ten wpis: https://stackoverflow.com/questions/46039271/google-analytics-api-get-page-views-by-url/46040074#46040074 . –

Odpowiedz

1

używam tego pakietu:

https://github.com/google/google-api-php-client

można go używać na dostęp do wszystkich interfejsów API Google z PHP, w tym oczywiście Google Analytics

Oto przykład, jak z niego korzystać:

// create client object and set app name 
$client = new Google_Client(); 
$client->setApplicationName('Your app name'); // name of your app 

// set assertion credentials 
$client->setAssertionCredentials(
    new Google_AssertionCredentials(
     '[email protected]', // email you added to GA 
     [ 
      'https://www.googleapis.com/auth/analytics.readonly'),   
      file_get_contents('/your/key/file.p12') // keyfile you downloaded 
     ] 
    ) 
); 

// other settings 
$client->setClientId('your-client-id'); // from API console 
$client->setAccessType('offline_access'); // this may be unnecessary? 

// create service and get data 
$service = new Google_AnalyticsService($client); 

$from_date = date("Y-m-d",strtotime("-30 days")); // A month 
$to_date = date("Y-m-d"); 

$response = $service->data_ga->get(
    "ga:profile_id", // profile id 
    "$from_date", // start date 
    "$to_date", // end date 
    "ga:uniquePageviews", 
    [ 
     'dimensions' => 'ga:pagePath', // Dimensions you want to include, pagePath in this example 
     'sort' => '-ga:uniquePageviews', // Sort order, order by unique page views from high to low in this case 
     'filters' => 'ga:pagePath=~\/articles\/[a-zA-Z0-9\-]+', // example url filter 
     'max-results' => '50' // Max results 
    ] 
); 
foreach ($response["rows"] as $row) { 
    // ...do whatever you want with the results 
} 

Również, oto poradnik jak korzystać z API Google:

https://developers.google.com/api-client-library/php/start/get_started

EDIT: Musisz utworzyć poświadczenia dostępu do API Analytics. Robisz to tutaj: https://console.cloud.google.com/flows/enableapi?apiid=analyticsreporting.googleapis.com&credential=client_key. Najpierw zarejestruj projekt, a następnie utwórz poświadczenia. Dostępne są trzy opcje: klucz API, identyfikator klienta OAuth i klucz konta usługi. Nie chciałem korzystać z protokołu OAuth, więc użyłem klucza konta usługi. Możesz spróbować użyć klucza API, w takim przypadku zamień wywołanie $client->setAssertionCredentials(...) na . Nie możesz bezpośrednio używać nazwy użytkownika i hasła AFAIK.

+0

Musisz utworzyć referencje, aby uzyskać dostęp do interfejsu API Analytics. Możesz to zrobić tutaj: https://console.cloud.google.com/start/api?id=analyticsreporting.googleapis.com&credential=client_key. Najpierw zarejestruj projekt, a następnie utwórz poświadczenia. Dostępne są trzy opcje: klucz API, identyfikator klienta OAuth i klucz konta usługi. Nie chciałem korzystać z protokołu OAuth, więc użyłem klucza konta usługi. Możesz spróbować użyć klucza API, w takim przypadku zamień '$ client-> setAssertionCredentials (...)' wywołanie '$ client-> setDeveloperKey (your_api_key)'. Nie możesz bezpośrednio używać nazwy użytkownika i hasła AFAIK. –

+0

Ok, właśnie zrobiłem. –

4

Możesz użyć klienta API Google Analytics w PHP. Google analytic api client library

Możesz użyć Query Explorer, aby utworzyć zapytania do sprawdzenia.

Kod Przykład:

$analytics = new analytics('username', 'password'); 
$analytics->setProfileByName('user.name'); 
//set the date range for which you want stats for 
$analytics->setMonth(date('n'), date('Y')); 
// it could also be $analytics->setDateRange('YYYY-MM-DD', 'YYYY-MM-DD')) 
print_r($analytics->getVisitors()); 
print_r($analytics->getPageviews()); 

Powyższy przykład wykorzystywane klienta Google Analytics API w PHP. Była to pierwsza biblioteka wydana w PHP. Sześć lat później to oprogramowanie jest nieaktualne. Google zmienił interfejs API. Jako alternatywę możesz użyć biblioteki GAPI. Powyżej znajduje się przykład, jak to działałoby, możesz dołączyć klasę gapi, aby była funkcjonalna.

GAPI Analytic Library

Innym sposobem jest to, że można użyć Google Analytics Reporting API v4 dla PHP. można uzyskać to za pomocą kompozytor:

composer require google/apiclient:^2.0 

Guide to usage of this library is at github

+0

Dzięki. Czy możesz podać przykład kodu, jak to zrobić w tym konkretnym przypadku (np. Uzyskać liczbę odwiedzających określoną witrynę przez ostatnie 30 dni)? – Basj

+0

Oto przykład kodu, aby uzyskać liczbę odwiedzających i wyświetleń przez nie. dni. Mam nadzieję, że ci to pomoże: '$ analytics = new analytics ('username', 'password'); $ analytics-> setProfileByName ("user.name"); // Ustaw zakres dat, dla którego chcesz statystyki dla $ analytics-> setMonth (data ("n"), data ("Y")); // może to być również $ analytics-> setDateRange ("RRRR-MM-DD", "RRRR-MM-DD")) print_r ($ analytics-> getVisitors()); print_r ($ analytics-> getPageviews()); ' Edytowałem również powyższą odpowiedź z tym samym. – Manu

+0

Dzięki. Czy twój kod używa tego [gapi-google-analytics-php-interface] (https://github.com/erebusnz/gapi-google-analytics-php-interface), jak wyjaśniono w [podany link] (https://www.swis.nl/ga) lub innym API? Rzeczywiście twój kod wygląda inaczej: "nowa analityka (" nazwa użytkownika "," hasło ");" który to jest API? (który plik .php muszę dołączyć?) – Basj