Примеры работы Dosnt в API управления --- исключения - PullRequest
0 голосов
/ 29 апреля 2020

Цели: список

Ни один из примеров не работает. Хотя клиентская библиотека установлена.

В то же время Google_Service_AnalyticsReporting работает без ошибок.

<?php
require_once __DIR__ . '/goo/vendor/autoload.php';

$analytics = initializeAnalytics();

$VIEW_ID = "206215735";
$ACCOUNT_ID = '152594033';
$PROPERTY_ID = 'UA-152594033-1';

function initializeAnalytics()
{
    $KEY_FILE_LOCATION = __DIR__ . '/goo/My Project.json';

    $client = new Google_Client();
    $client->setApplicationName("Bottom table");
    $client->setAuthConfig($KEY_FILE_LOCATION);
    $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
    $analytics = new Google_Service_AnalyticsReporting($client);

    return $analytics;
}

    $goals = $analytics->management_goals->listManagementGoals($ACCOUNT_ID,$PROPERTY_ID,'~all');

Результат Неустранимая ошибка: Uncaught Ошибка: вызов функция-член listManagementGoals () для null в D: \ OpenServer \ domains \ htdg.local \ google1. php: 30 Трассировка стека: # 0 {main}, брошенная в D: \ OpenServer \ domains \ htdg.local \ google1. php в строке 30

Почему возникают ошибки

1 Ответ

0 голосов
/ 29 апреля 2020

Все примеры работают. Вы используете неправильный сервис.

Ваш код использует библиотеку для Google Analytics отчетности API

$analytics = new Google_Service_AnalyticsReporting($client);

Тем не менее, вы пытаетесь использовать метод, который часть ядра аналитики Google API api v3 и управляющего API , который находится в другой библиотеке.

$analytics = new Google_Service_Analytics($client);

Вероятно, вы должны следовать учебному пособию PHP для правильного API Hello Analytics API: PHP быстрый старт для веб-приложений

$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/client_secrets.json');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);

$analytics = new Google_Service_Analytics($client);
$goals = $analytics->management_goals->listManagementGoals($ACCOUNT_ID,$PROPERTY_ID,'~all');
...