Przewodnik dla programistów niespróbkowanych raportów

Interfejs Google Analytics Management API umożliwia automatyczne tworzenie niespróbkowanych raportów.

Wstęp

Niespróbkowane raporty to raporty Google Analytics, które zostały wygenerowane na podstawie niespróbkowanych danych. Niespróbkowane raporty są obecnie dostępne tylko dla użytkowników Google Analytics 360.

Umożliwia on:

  • Pobieranie informacji o konfiguracji wszystkich istniejących niespróbkowanych raportów i tworzenie jednorazowych niespróbkowanych raportów.
  • Sprawdź stan przetwarzania niespróbkowanych raportów.
  • Uzyskaj link do pliku danych zawierającego niespróbkowany raport po zakończeniu przetwarzania.
  • Usuń niespróbkowane raporty.

Pobieranie danych do niespróbkowanych raportów

Gdy utworzysz niespróbkowany raport, może minąć trochę czasu, zanim będzie on dostępny do pobrania. Pole status w przypadku niespróbkowanego raportu wskazuje, czy jego przetwarzanie zostało zakończone. Po oznaczeniu stanu jako COMPLETED możesz użyć downloadType i odpowiedniego pola szczegółów pobierania, aby pobrać plik zawierający dane raportu. Na przykład:

Nie używaj ciągłych ankiet o dużej częstotliwości, aby sprawdzać stan tych raportów, ponieważ istnieje duże prawdopodobieństwo, że wkrótce wyczerpiesz dzienny limit. Podczas sprawdzania stanu niespróbkowanych raportów powinno występować opóźnienie między żądaniami.

Używanie Dysku Google / Google Cloud Storage API

W zależności od tego, gdzie zostały dostarczone Twoje pliki (na Dysku Google czy w Google Cloud Storage), otrzymasz odpowiedni link do tego pliku. Aby pobrać plik za pomocą tego linku, możesz użyć interfejsu Drive API lub Cloud Storage API. Więcej informacji o tym, jak pobrać plik, znajdziesz w dokumentacji interfejsu Google Drive API lub Google Cloud Storage API.

Jeśli na przykład niespróbkowany raport jest przechowywany na Dysku Google, możesz wysłać autoryzowane żądanie HTTP GET do adresu URL zasobów pliku i dołączyć parametr zapytania alt=media.

GET /drive/v2/files/XXXXXX?alt=media
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs

Gdzie XXXXXX to niespróbkowany raport driveDownloadDetails.documentId

Uwierzytelnianie

Jeśli chcesz używać niespróbkowanego raportu w połączeniu z interfejsami Drive lub Cloud Storage API do pobierania plików, podczas wysyłania żądania tokena OAuth 2.0 musisz uwzględnić odpowiedni zakres uwierzytelniania dla tego interfejsu API (oprócz zakresu uwierzytelniania Analytics API). Umożliwi Ci to używanie tego samego tokena uwierzytelniania w obu interfejsach API.

Usuwanie niespróbkowanych raportów

Możesz usuwać zaplanowane lub ukończone niespróbkowane raporty, jednak wywołanie metody delete w trakcie generowania raportu spowoduje błąd. Usunięcie niespróbkowanych raportów spowoduje tylko usunięcie zasobu z widoku danych (profilu) Google Analytics. Dane wyeksportowane na Dysku Google lub w Google Cloud Storage nie zostaną usunięte.

Ograniczenia

W przypadku tworzenia niespróbkowanych raportów obowiązują te ograniczenia:

  • Możesz określić maksymalnie 4 wymiary.
  • Niektóre typy danych raportowania nie są obsługiwane, np. Dane Google Ads.
  • Zapytania uznane za zbyt drogie nie są obsługiwane.
  • Jeśli masz zbyt wiele niespróbkowanych raportów i osiągniesz limit, możesz bezpiecznie usunąć niespróbkowane zasoby raportu, pozostawiając wygenerowane dane raportu na Dysku Google lub w Google Cloud bez zmian.

Jeśli żądanie zostanie uznane za zbyt kosztowne, operacja tworzenia zwróci błąd i odpowiedni komunikat. W takim przypadku możesz:

  • Poproś o mniej wymiarów.
  • Podziel zapytanie na kilka zapytań z mniejszymi zakresami dat i połącz otrzymane raporty.

Przykłady zastosowania

Niespróbkowane raporty i interfejs API podstawowego raportowania

Jeśli do pobierania danych raportu używasz interfejsu API podstawowego raportowania, które zawierają próbkowane dane, możesz utworzyć niespróbkowany raport dla tego samego zapytania w ten sposób:

  1. Wyślij żądanie do interfejsu API podstawowego raportowania.
  2. W odpowiedzi sprawdź właściwość containsSampledData, aby zobaczyć, czy dane są próbkowane.
  3. Jeśli ta właściwość ma wartość Prawda, do utworzenia żądania niespróbkowanego raportu możesz użyć pól query i profileInfo z tej samej odpowiedzi.

Przykładowe pole zapytania z odpowiedzi interfejsu Core Reporting API:

"query": {
  "start-date": "2011-01-01",
  "end-date": "2011-01-31",
  "ids": "ga:1234",
  "dimensions": "ga:browser",
  "metrics": [
  "ga:visits"
  ],
  "filters": "ga:country==US",
  "start-index": 1,
  "max-results": 1000
}

Przykładowe pole profileInfo z odpowiedzi interfejsu Core Reporting API:

"profileInfo": {
  "profileId": "1234",
  "accountId": "12345",
  "webPropertyId": "UA-12345-1",
  "internalWebPropertyId": "11254",
  "profileName": "Name of the profile",
  "tableId": "ga:1234"
}

Poniżej znajdziesz przykład tworzenia niespróbkowanego raportu na podstawie odpowiedzi interfejsu API podstawowego raportowania:

Java

// Make a Core Reporting API call.
GaData reportingApiData = v3.data().ga().get(...).execute();

// Check if the response is sampled.
if (reportingApiData.getContainsSampledData()) {

  // Use the “query” object to construct an unsampled report object.
  Query query = reportingApiData.getQuery();
  UnsampledReport report = new UnsampledReport()
      .setDimensions(query.getDimensions())
      .setMetrics(Joiner.on(',').join(query.getMetrics()))
      .setStartDate(startDate)
      .setEndDate(endDate)
      .setSegment(query.getSegment())
      .setFilters(query.getFilters())
      .setTitle(“My unsampled report”);

  // Use “profileInfo” to create an InsertRequest for creating an
  // unsampled report.
  ProfileInfo profileInfo = reportingApiData.getProfileInfo();
  Insert insertRequest = analytics.management().unsampledReports()
  .insert(profileInfo.getAccountId(),
          profileInfo.getWebPropertyId(),
          profileInfo.getProfileId(),
          report);
  UnsampledReport createdReport = insertRequest.execute();
}

Łączenie niespróbkowanych danych z wielu dni

Możesz łączyć lub łączyć raporty z wielu dni, aby uzyskać niespróbkowane dane z określonego zakresu dat. Jest to przydatne, gdy żądanie niespróbkowanych danych jest za duże. W takiej sytuacji możesz podzielić żądanie na kilka żądań z krótszym zakresem dat, a potem połączyć wyniki.

Zasady dotyczące limitów

Pełną listę limitów, które obowiązują przy tworzeniu niespróbkowanych raportów, znajdziesz w artykule Limity i limity interfejsu Configuration and Reporting API.