google-запрос на проверку подлинности между серверами возвращает запрет 403 - PullRequest
1 голос
/ 28 марта 2012

я установил подлинность простого получения запрос к API базовой отчетности с использованием учетной записи службы. Но ответ всегда:

{"error":{"errors": [{"message":"Forbidden"}],"code":403,"message":"Forbidden"}}

Когда я аутентифицирую тот же API-запрос через "Client ID for web" приложения "(OAuth 2.0 Playground) я получаю ответ API без проблем. Таким образом, проблема не в запросе API.

Вот что я сделал:

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

  2. там я создал новую учетную запись в проекте, который имеет доступ к аналитика api

  3. с последней версией 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}'));

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 20 августа 2012

Может быть полезно тем, кто еще ищет ответ

вам нужно подключить client_id к вашей учетной записи Google Analytics, некоторые иллюстрированные инструкции можно найти по адресу http://www.pimcore.org/wiki/display/PIMCORE/Setup+Google+Analytics+Reporting+with+OAuth2+Service+Accounts+(since+1.4.6)

0 голосов
/ 29 марта 2012

Я получил ответ по группам Google:

К сожалению, учетные записи служб поддерживаются не всеми API Google.Мы работаем над тем, чтобы сделать его более широким.

https://groups.google.com/group/oauth2-dev/browse_thread/thread/3414283abb5c0ba0

...