я установил подлинность простого получения
запрос к API базовой отчетности с использованием учетной записи службы. Но ответ всегда:
{"error":{"errors": [{"message":"Forbidden"}],"code":403,"message":"Forbidden"}}
Когда я аутентифицирую тот же API-запрос через "Client ID for web"
приложения "(OAuth 2.0 Playground) я получаю ответ API без проблем. Таким образом, проблема не в запросе API.
Вот что я сделал:
Я вошел в консоль Google API с учетной записью, которая имеет
доступ к аккаунту аналитики
там я создал новую учетную запись в проекте, который имеет доступ к
аналитика api
с последней версией google-api-php-client, я аутентифицировал запрос
в API Analytics с помощью этой учетной записи службы. Аутентификация
Кажется, работает нормально, так как заголовок запроса содержит authorization:
Bearer {access_token}
. Но я всегда получаю 403.
Вот небольшой фрагмент кода того, что я делаю:
$client = new apiClient();
$client->setAssertionCredentials(new apiAssertionCredentials(
'{my_service_account_email}',
array('https://www.googleapis.com/auth/analytics.readonly'),
'{my_service_account_certificate}'
));
$request = $client->getIo()->authenticatedRequest(new apiHttpRequest('https://www.googleapis.com/analytics/v3/data/ga?{my_query}'));
Что я делаю не так?