Ich versuche, einen Code in PHP schreiben, die Verbindung zu meinem Google Analytics-Konto, ziehen Sie die Daten von dort, und dann muss ich auf den Code - in SQL-Tabellen einfügen Dieser usw.Verbinden mit Google Analytics API mit PHP
ist der Ordner, die ich heruntergeladen hat: https://github.com/google/google-api-php-client/releases (google-api-php-client-2.0.2.zip)
ich diese google-Anleitung: https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/web-php
, die eigentlich für den Zugriff auf die API durch ist eine URL, also habe ich ein paar Anpassungen vorgenommen, damit ich die Daten lokal behandeln werde (z. B. Refresh-Token usw.).
dies ist mein Code:
<?php
define ("API_Key","MY_API_KEY");
define ("oAuth_Key","MY_oAUTH_KEY");
define ("refreshTokenKey","MY_REFRESH_TOKEN");
define('STORE_ON_DISK', true, true);
// Load the Google API PHP Client Library.
require_once dirname(__FILE__) . '/../Analytics/google-api-php-client-2.0.2/vendor/autoload.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("PrsstoAnalytics");
$client->setAuthConfigFile(dirname(__FILE__) . '/client_secrets.json');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);
$client->setAccessType('offline');
$client->refreshToken(refreshTokenKey);
//----------------------------------------------------------------------------------------------------------------------
// Create an authorized analytics service object.
$analytics = new Google_Service_AnalyticsReporting($client);
// Call the Analytics Reporting API V4.
$response = getReport($analytics);
// Print the response.
printResults($response);
function getReport(&$analytics) {
// Replace with your view ID. E.g., XXXX.
$VIEW_ID = "MY_VIEW_ID";
// Create the DateRange object.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("7daysAgo");
$dateRange->setEndDate("today");
// Create the Metrics object.
$sessions = new Google_Service_AnalyticsReporting_Metric();
$sessions->setExpression("ga:sessions");
$sessions->setAlias("sessions");
// Create the ReportRequest object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges($dateRange);
$request->setMetrics(array($sessions));
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests(array($request));
return $analytics->reports->batchGet($body);
}
function printResults(&$reports) {
for ($reportIndex = 0; $reportIndex < count($reports); $reportIndex++) {
$report = $reports[ $reportIndex ];
$header = $report->getColumnHeader();
$dimensionHeaders = $header->getDimensions();
$metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
$rows = $report->getData()->getRows();
for ($rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
$row = $rows[ $rowIndex ];
$dimensions = $row->getDimensions();
$metrics = $row->getMetrics();
for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
}
for ($j = 0; $j < count($metricHeaders) && $j < count($metrics); $j++) {
$entry = $metricHeaders[$j];
$values = $metrics[$j];
print("Metric type: " . $entry->getType() . "\n");
for ($valueIndex = 0; $valueIndex < count($values->getValues()); $valueIndex++) {
$value = $values->getValues()[ $valueIndex ];
print($entry->getName() . ": " . $value . "\n");
}
}
}
}
}
Aber ich teste das Skript, das der Fehler erhalte ich:
Hat hat jemand eine Idee, warum kann ich nicht auf die API Connext?
Was mache ich falsch in meiner Verbindung? Sind meine Referenzen nicht richtig? Fehle ich einen Schlüssel irgendeiner Art? Ich würde wirklich jede Hilfe zu schätzen wissen.
Vielen Dank!