Arhn - архитектура программирования

Неустранимая ошибка: класс Google_Auth_AssertionCredentials не найден

Я пытаюсь перенести старый API Google на новый, чтобы получить данные Google Analytics. Я пытаюсь использовать это пример, но он запускает эту ошибку

Неустранимая ошибка: класс Google_Auth_AssertionCredentials не найден в example.php

Вот как я пытаюсь:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require_once 'google-api-php-client/vendor/autoload.php';
//$p12FilePath = '/path/to/key.p12';
$serviceClientId = '395545742105.apps.googleusercontent.com';
$serviceAccountName = '[email protected]';
$scopes = array(
    'https://www.googleapis.com/auth/analytics.readonly'
);
$googleAssertionCredentials = new Google_Auth_AssertionCredentials(
    $serviceAccountName,
    $scopes
); // <- Fatal error here
$client = new Google_Client();
$client->setAssertionCredentials($googleAssertionCredentials);
$client->setClientId($serviceClientId);
$client->setApplicationName("Project");
$analytics = new Google_Service_Analytics($client);

И я выполнил поиск Google_Auth_AssertionCredentials в библиотеке, которую я загружаю с здесь, и Только один результат: upagrading.md

Google_Auth_AssertionCredentials removed use Google_Client::setAuthConfig instead,

Но как мне использовать его в конструкторе?

я пытался

$googleAssertionCredentials = new Google_Client::setAuthConfig(
    $serviceAccountName,
    $scopes
);

С внутренней ошибкой сервера,

Есть идеи, что мне здесь не хватает?


  • возможно, вам больше повезет с учебником Google developers.google. com/analytics/devguides/reporting/core/v3/ 07.12.2015
  • Я пытаюсь, но не могу найти способ скачать свой client_secrets.json, пытался вручную добавить файл с синтаксисом, но получаю Fatal error: Uncaught exception 'Google_Exception' with message 'Invalid client secret JSON file.' 07.12.2015
  • Секреты клиента json находятся в консоли разработчиков Google. проверьте шаг 1 в учебнике, который я связал 07.12.2015
  • Я знаю, я читал, но нет загрузки json.. :S 07.12.2015

Ответы:


1

Похоже, у вас смесь старого и нового (Google PHP API Client 2.0) синтаксис. Сообщение «вместо этого используйте Google_Client::setAuthConfig» предназначено для указания используемого метода, но не для того, чтобы его вызывали статически.

Это должно выглядеть так:

$client = new Google_Client();

// set the scope(s) that will be used
$client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly'));

// this is needed only if you need to perform
// domain-wide admin actions, and this must be
// an admin account on the domain; it is not 
// necessary in your example but provided for others
$client->setSubject('[email protected]');

// set the authorization configuration using the 2.0 style
$client->setAuthConfig(array(
    'type' => 'service_account',
    'client_email' => '[email protected]',
    'client_id' => '395545742105.apps.googleusercontent.com',
    'private_key' => 'yourkey'
));

$analyticsService = new Google_Service_Analytics($client);

Этот синтаксис работает для меня с текущей сборкой на момент написания этой статьи, а именно 2.0.0-RC2.

08.12.2015
  • Спасибо! Я попробую и дам вам знать! 08.12.2015

  • 2

    Это решение работает для меня:

    Раздел настройки композитора в https://github.com/google/google-api-php-client/blob/master/README.md может упомянуть обе версии, например:

    composer require google/apiclient:^2.0.0@RC Обратите внимание, что документация на сайте developer.google.com относится к V1 этой библиотеки. Если вы хотите использовать более старую версию, вместо этого используйте: composer require google/apiclient:1.*

    https://github.com/google/google-api-php-client/issues/748

    04.01.2016
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..