Использование API Google через laravel/hybridauth

Я хочу создать приложение, которое использует Google+ API через HybridAuth.

Я использую atticmedia/anvard версию hybridauth, которая уже настроена с помощью clientID Google и secretKey, сгенерированных через консоль разработчика Google (я вставил эту информацию в файл hybridauth.php в папке config laravel). Я также установил область действия (как Google предлагает).

"scope"   => "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email",

Я делаю следующее по маршруту Laravel:

if (!$hybridauth->isConnectedWith('Google')) {
    $adapter = $hybridauth->authenticate('Google');
}
else {
    $adapter = $hybridauth->getAdapter('Google');
}

$profile = $adapter->getUserProfile();

До сих пор все идет хорошо. Профиль корректно печатается с использованием функции var_dump(). Поэтому я могу предположить, что я вошел в систему. Теперь я хочу позвонить в API Google (например, это). По тому же маршруту, после печати профиля пользователя я делаю следующее:

$answer= $adapter->api()->api('/people', 'get', array(
                                        'query' => 'Google'
                                    ));

Как показано на этой странице, я могу использовать метод api() для выполнения вызова. Но единственный результат, который я могу напечатать, это "NULL". Я подозреваю, что запрос каким-то образом не верен, но я попробовал почти все, и я пока не нашел "реального" примера API Google в сочетании с laravel/hybridauth.

1 ответ

При звонке $adapter->api в hybridauth чтобы получить доступ к API Google, вы должны использовать полный HTTP-запрос URL.

$answer= $adapter->api()->api('https://www.googleapis.com/plus/v1/people/me');

Для других сервисов, таких как Facebook, вам не нужно

$answer= $adapter->api()->api('/me');

Я использую Laravel 4.2.11 и hybridauth dev-master

Ссылка: http://hybridauth.sourceforge.net/userguide/tuts/advanced-access-google-api.html

Другие вопросы по тегам