• Czas czytania ~5 min
  • 18.03.2023

W tym artykule przyjrzymy się, jak uzyskać dostęp do informacji Google Analytics w PHP przy użyciu interfejsu API i konta usługi. Będziemy używać raportowania Analytics w wersji 4 jako interfejsu API.

Konfigurowanie Google Analytics do pracy z nim za pomocą interfejsu API Jeśli witryna korzysta z Google Analytics (GA) do zbierania statystyk użytkowników, możesz korzystać z danych dostarczonych przez tę usługę nie tylko w interfejsie internetowym za pośrednictwem raportów, ale także za pośrednictwem interfejsu API

.

Co to oznacza? Oznacza to, że niezbędne dane możemy pozyskiwać z GA programowo, a następnie np. wykorzystywać je na stronie internetowej lub w aplikacji webowej.

Jakie zadania można rozwiązać na stronie za pomocą Google Analytics API?

  1. Вывести на странице её количество просмотров. Если эту задачу реализовать классическим способом, то нам в этом случае потребуется создавать таблицы в базе данных, писать логику на php и т.д.
  2. Отобразить на сайте самые популярные статьи (страницы) за последнюю неделю или другой период на сайте.

Za pomocą GA możesz rozwiązać nie tylko te zadania na stronie, ale także wiele innych. Ale w tym artykule skupimy się na rozważeniu tylko tych dwóch.

Zanim jednak przejdziemy do części praktycznej, najpierw przyjrzyjmy się, jak włączyć API Google Analytics i zasady pracy z nim w PHP.

Przygotowanie do korzystania z interfejsu API Google Przed rozpoczęciem pracy z czwartą wersją interfejsu API

raportowania Analytics musisz wykonać następujące podstawowe czynności:

1. Włącz interfejs API raportowania Google Analytics.

Aby to zrobić, musisz otworzyć stronę "API i usługi Google".. W polu wyszukiwania wpisz "Google Analytics Reporting API", przejdź do strony tego interfejsu API i włącz go.

Поиск Google Analytics Reporting API

2. Utwórz konto usługi.

Aby to zrobić, musisz otworzyć stronę "Konta usług".

Jeśli projekt już istnieje, kliknij przycisk "Wybierz" i wybierz istniejący projekt. Jeśli nie ma projektu, utwórz nowy.

Następnie tworzymy konto usługi w nowo utworzonym lub wybranym projekcie. Aby to zrobić, kliknij przycisk "Utwórz konto usługi".

Создание сервисного аккаунта в Google IAM

Wprowadź nazwę konta usługi i kliknij przycisk "Utwórz". Na stronie "Prawa dostępu do konta usługi (opcjonalnie)" kliknij przycisk

"Kontynuuj". Następnie tworzymy nowy klucz. Aby to zrobić, kliknij przycisk "Utwórz klucz". Jako typ klucza wybierz wartość "JSON" i kliknij przycisk "Utwórz". Kliknij przycisk "Gotowe".

Wygenerowany klucz zostanie pobrany na Twój komputer, będziemy go potrzebować później.

Pod koniec tego kroku skopiujemy adres e-mail konta usługi do schowka, będziemy go potrzebować, aby wykonać następny krok.

3. Dodaj konto usługi do Google Analytics.

Aby to zrobić, przejdź do Google Analytics i kliknij przycisk

Панель администратора в Google Analytics

"Administrator". Następnie na stronie, która zostanie otwarta, kliknij "Kontrola dostępu" w sekcji "Konto". Następnie kliknij ikonę "Plus" i wybierz "Dodaj użytkowników". Wklej adres e-mail konta usługi ze schowka do otwartego formularza i zaznacz tylko opcję "Wyświetl i analizuj" jako uprawnienia. Kliknij przycisk

"Dodaj". Ten użytkownik będzie teraz miał dostęp do analiz za pośrednictwem interfejsu API.

Instalowanie biblioteki klienta PHP Bibliotekę klienta interfejsu API Google dla PHP

można pobrać ręcznie lub uzyskać za pomocą programu Composer.

W przypadku typowej instalacji pobierz archiwum, rozpakuj je i prześlij na serwer, taki jak ga.

Aby zainstalować bibliotekę za pomocą programu Composer, wpisz następujące polecenie:

composer require google/apiclient:^2.0

После установки Google API для PHP загрузите в эту же папку JSON файл, который мы получили на этапе создания сервисного аккаунта.

Zabezpiecz dostęp do tego folderu i jego plików. Jeśli używasz serwera WWW Apache, utwórz w tym folderze plik .htaccess o następującej zawartości:

# line below if for Apache 2.4
<ifModule mod_authz_core.c>
    Require all denied
</ifModule>

# line below if for Apache 2.2
<ifModule !mod_authz_core.c>
    deny from all
    Satisfy All
</ifModule>

# section for Apache 2.2 and 2.4
IndexIgnore *

Примеры использования данных из Google Analytics на сайте

Przykład #1. Korzystanie z interfejsu API Google, aby uzyskać najpopularniejsze treści w witrynie.

W tym przykładzie przyjrzyjmy się, jak za pomocą interfejsu Google Analytics Reporting API można uzyskać 7 najczęściej oglądanych stron w ciągu ostatnich 7 dni w witrynie.

Aby to zrobić, utwórz plik z następującym kodem:

Możesz pobrać ten plik top_pages.php z Github pod tym linkiem.

W tym pliku musisz określić swoje dane.

Najpierw należy określić nazwę pliku JSON zawierającego wygenerowany klucz.

$KEY_FILE_LOCATION = __DIR__ . '/service-account-credentials.json';

Во-вторых, указать значение VIEW_ID.

$VIEW_ID = "";

Узнать значение этого параметра для своей аналитики можно с помощью инструмента Account Explorer.

Aplikacja ga-dev-tools.appspot.com musi mieć uprawnienia dostępu do Twojego konta Google.

Ponadto ta aplikacja posiada bardzo dobre narzędzie do tworzenia zapytań.

W tym przykładzie wszystkie najważniejsze informacje są komentowane. Utwórz kwerendę, aby pobrać dane przy użyciu obiektureportRequests. Parametry tego zapytania są określane za pomocą obiektów DateRange, , MetricsDimensions, OrderBy. Ustawienie tych parametrów na reportRequests odbywa się za pomocą specjalnych metod.

Przykład No2. Użyj interfejsu API Google, aby uzyskać liczbę wyświetleń określonej strony w witrynie.

W takim przypadku musimy zainstalować następujące elementy w żądaniu:

  • zakres dat (data rozpoczęcia, powinna być równa rozpoczęciu projektu; data zakończenia – data bieżąca);
  • Wynik metryczny równy (liczba ga:pageviews wyświetleń)
  • filter by parameter , którego wartość ga:pagePathmusi być równa adresowi URL konkretnej strony.

Kompletny kod przykładu jest dostępny na Github i można uzyskać do niego dostęp tutaj.

Alternatywnie otrzymane dane można przesłać w formacie JSON do jakiegoś pliku (w tym przykładzie w /assets/ga_pageviews.jsonprogramie ). Aby to zrobić, musisz na przykład printResultInFile napisać odpowiednią funkcję i użyć jej do przetworzenia odpowiedzi.

printResultInFile($response);

Полный код файла доступен на Github по этому адресу.

Następnie możesz napisać mały skrypt, get_views.phpna przykład . Znajdzie w pliku liczbę wyświetleń dla jakiejś strony znając jej ścieżkę.

Ten skrypt będzie składał się z jednej funkcji:

<?php
function getViews($path) {
  $result = 0;
  $items = json_decode(file_get_contents('ga_pageviews.json'));
  foreach($items as $item) {
      if ($item->{'ga:pagePath'} === $path) {
          $result = $result + (int)$item->{'pageviews'};
      }
  }
  return $result;
}

Теперь чтобы получить данные необходимо просто вызвать функцию getViews и передать ей в качестве параметра путь к странице:

echo getViews('/html-and-css/css-selector');

Что-то подобное можно написать и для первого примера. Т.е. добавить в php-скрипт код, который будет сохранять ответ, а именно 7 самых популярных статей сайта за неделю, в JSON. Далее использовать этот файл для вывода на сайт информационной панели с этими ресурсами. Обновлять файл JSON можно, например, с помощью планировщика cron, запуская php скрипт раз в час или через другое определённое количество времени.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297