Я пытаюсь получить токен доступа, используя последнюю версию google-api-php-client (взгляните на этот https://github.com/google/google-api-php-client), и я следую этому официальному документу: https://developers.google.com/api-client-library/php/guide/aaa_oauth2_web
Единственная разница в том, что я бы хотел использовать сервис Google_Service_Plus
вместо Google_Service_Urlshortener
.
В основном я делаю следующие шаги:
- Я инициализирую клиент Google
$client
, указав идентификатор клиента, секрет клиента, ключ разработчика, области действия и URI перенаправления (который указывает на мой локальный хост Ubuntu 12.04 — PHP 5.3.10). - Я инициализирую службу Google Plus
$plus
с помощью клиента Google$client
. - Я перенаправляю пользователя на URL-адрес авторизации, используя
$client->createAuthUrl()
. - Пользователь может увидеть страницу согласия и принять ее.
- Я получаю код авторизации
$_GET['code']
для обмена токенами. - Затем на странице обратного вызова я пытаюсь выполнить
$client->authenticate($_GET['code']);
, но сервер Google возвращает HTTP 400, и я получаю сообщениеGoogle_Auth_Exception: Error fetching OAuth2 access token, message: 'invalid_request'
.
Здесь поток прерывается.
Что не так?
Любая помощь будет оценена.
Заранее спасибо,
Никколо.