Z tej strony dowiesz się, jak zacząć korzystać z interfejsu Google Analytics Data API w wersji 1 w ulubionych za pomocą bibliotek klienckich.
Krok 1. Włącz API
Kliknij przycisk, aby automatycznie utworzyć nowy projekt Google Cloud włącz interfejs Google Analytics Data API v1 i utwórz konto usługi potrzebne w tym samouczku:
W wyświetlonym oknie kliknij POBIERZ KONFIGURACJĘ KLIENTA i zapisz plik.
credentials.json
do katalogu roboczego.
Krok 2. Dodawanie konta usługi do usługi w Google Analytics
W edytorze tekstu otwórz pobrany plik credentials.json
poprzedniego kroku i wyszukaj pole client_email
, aby uzyskać
adresu e-mail konta usługi, takiego jak
"quickstart@PROJECT-ID.iam.gserviceaccount.com".
Użyj tego adresu e-mail, aby dodać użytkownika do Google Usługa w Analytics, do której chcesz mieć dostęp za pomocą interfejsu Google Analytics Data API w wersji 1. W tym samouczku: tylko uprawnienia przeglądającego są niezbędne.
Krok 3. Konfigurowanie uwierzytelniania
Ta aplikacja przedstawia sposób użycia interfejsu Google Analytics Data API w wersji 1 za pomocą usługi konto dane logowania.
Przeczytaj więcej dla: instrukcje tworzenia i ustawiania danych logowania na konto usługi aplikacji.
Jednym ze sposobów na podanie danych logowania do konta usługi jest ustawienie zmienna środowiskowa GOOGLE_APPLICATION_CREDENTIALS, klient interfejsu API użyje wartości tej zmiennej, aby znaleźć konto usługi kluczowy plik JSON.
Aby ustawić dane logowania do aplikacji w tym przykładzie, uruchom następujące polecenie i użyj ścieżki do pliku JSON konta usługi pobranego w kroku 1:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Na przykład:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/credentials.json"
Krok 4. Instalowanie biblioteki klienta
go get google.golang.org/genproto/googleapis/analytics/data/v1beta
Wywoływanie interfejsu API
Teraz można używać interfejsu Google Analytics Data API do wysyłania zapytań dotyczących Google Analytics. usłudze. Aby wykonać pierwsze wywołanie interfejsu API, uruchom ten kod:
import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.DateRange;
import com.google.analytics.data.v1beta.Dimension;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.Row;
import com.google.analytics.data.v1beta.RunReportRequest;
import com.google.analytics.data.v1beta.RunReportResponse;
/**
* Google Analytics Data API sample quickstart application.
*
* <p>This application demonstrates the usage of the Analytics Data API using service account
* credentials.
*
* <p>Before you start the application, please review the comments starting with "TODO(developer)"
* and update the code to use correct values.
*
* <p>To run this sample using Maven:
*
* <pre>{@code
* cd google-analytics-data
* mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.QuickstartSample"
* }</pre>
*/
public class QuickstartSample {
public static void main(String... args) throws Exception {
/**
* TODO(developer): Replace this variable with your Google Analytics 4 property ID before
* running the sample.
*/
String propertyId = "YOUR-GA4-PROPERTY-ID";
sampleRunReport(propertyId);
}
// This is an example snippet that calls the Google Analytics Data API and runs a simple report
// on the provided GA4 property id.
static void sampleRunReport(String propertyId) throws Exception {
// Using a default constructor instructs the client to use the credentials
// specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {
RunReportRequest request =
RunReportRequest.newBuilder()
.setProperty("properties/" + propertyId)
.addDimensions(Dimension.newBuilder().setName("city"))
.addMetrics(Metric.newBuilder().setName("activeUsers"))
.addDateRanges(DateRange.newBuilder().setStartDate("2020-03-31").setEndDate("today"))
.build();
// Make the request.
RunReportResponse response = analyticsData.runReport(request);
System.out.println("Report result:");
// Iterate through every row of the API response.
for (Row row : response.getRowsList()) {
System.out.printf(
"%s, %s%n", row.getDimensionValues(0).getValue(), row.getMetricValues(0).getValue());
}
}
}
}
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
DateRange,
Dimension,
Metric,
RunReportRequest,
)
def sample_run_report(property_id="YOUR-GA4-PROPERTY-ID"):
"""Runs a simple report on a Google Analytics 4 property."""
# TODO(developer): Uncomment this variable and replace with your
# Google Analytics 4 property ID before running the sample.
# property_id = "YOUR-GA4-PROPERTY-ID"
# Using a default constructor instructs the client to use the credentials
# specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
client = BetaAnalyticsDataClient()
request = RunReportRequest(
property=f"properties/{property_id}",
dimensions=[Dimension(name="city")],
metrics=[Metric(name="activeUsers")],
date_ranges=[DateRange(start_date="2020-03-31", end_date="today")],
)
response = client.run_report(request)
print("Report result:")
for row in response.rows:
print(row.dimension_values[0].value, row.metric_values[0].value)
/**
* TODO(developer): Uncomment this variable and replace with your
* Google Analytics 4 property ID before running the sample.
*/
// propertyId = 'YOUR-GA4-PROPERTY-ID';
// Imports the Google Analytics Data API client library.
const {BetaAnalyticsDataClient} = require('@google-analytics/data');
// Using a default constructor instructs the client to use the credentials
// specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
const analyticsDataClient = new BetaAnalyticsDataClient();
// Runs a simple report.
async function runReport() {
const [response] = await analyticsDataClient.runReport({
property: `properties/${propertyId}`,
dateRanges: [
{
startDate: '2020-03-31',
endDate: 'today',
},
],
dimensions: [
{
name: 'city',
},
],
metrics: [
{
name: 'activeUsers',
},
],
});
console.log('Report result:');
response.rows.forEach((row) => {
console.log(row.dimensionValues[0], row.metricValues[0]);
});
}
runReport();
using Google.Analytics.Data.V1Beta;
using System;
namespace AnalyticsSamples
{
class QuickStart
{
static void SampleRunReport(string propertyId="YOUR-GA4-PROPERTY-ID")
{
/**
* TODO(developer): Uncomment this variable and replace with your
* Google Analytics 4 property ID before running the sample.
*/
// propertyId = "YOUR-GA4-PROPERTY-ID";
// Using a default constructor instructs the client to use the credentials
// specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
BetaAnalyticsDataClient client = BetaAnalyticsDataClient.Create();
// Initialize request argument(s)
RunReportRequest request = new RunReportRequest
{
Property = "properties/" + propertyId,
Dimensions = { new Dimension{ Name="city"}, },
Metrics = { new Metric{ Name="activeUsers"}, },
DateRanges = { new DateRange{ StartDate="2020-03-31", EndDate="today"}, },
};
// Make the request
RunReportResponse response = client.RunReport(request);
Console.WriteLine("Report result:");
foreach(Row row in response.Rows)
{
Console.WriteLine("{0}, {1}", row.DimensionValues[0].Value, row.MetricValues[0].Value);
}
}
static int Main(string[] args)
{
if (args.Length > 0) {
SampleRunReport(args[0]);
} else {
SampleRunReport();
}
return 0;
}
}
}
require 'vendor/autoload.php';
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\RunReportRequest;
/**
* TODO(developer): Replace this variable with your Google Analytics 4
* property ID before running the sample.
*/
$property_id = 'YOUR-GA4-PROPERTY-ID';
// Using a default constructor instructs the client to use the credentials
// specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
$client = new BetaAnalyticsDataClient();
// Make an API call.
$request = (new RunReportRequest())
->setProperty('properties/' . $property_id)
->setDateRanges([
new DateRange([
'start_date' => '2020-03-31',
'end_date' => 'today',
]),
])
->setDimensions([new Dimension([
'name' => 'city',
]),
])
->setMetrics([new Metric([
'name' => 'activeUsers',
])
]);
$response = $client->runReport($request);
// Print results of an API call.
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
print $row->getDimensionValues()[0]->getValue()
. ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL;
}