2014-11-18 3 views
0

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

Я использую версию hybridauth для atticmedia/anvard, которая уже настроена с помощью идентификатора клиента Google и secretKey, которые были сгенерированы с помощью консоли разработчика Google (я вставил эту информацию внутри файла hybridauth.php в папку конфигурации 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(). Поэтому я могу предположить, что я вошел в систему. Теперь я хочу позвонить в Google API (например, this). В том же маршруте Laravel, после печати профиля пользователя, я сделать следующее:

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

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

ответ

0

При вызове $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

+0

Спасибо за Ваш интерес к. Я уже тестировал ваши предложения с теми же результатами (то есть я уже пытался вставить внутри API вызов полного API-адреса). Я тоже использую Laravel 4.2, но я начал использовать версию smartauth для atticmedia/anvard, и при нынешнем статусе разработки, я думаю, что неплохо начинать все с нуля. –

+0

Я использую этот пакет 'https: // github.com/artdarek/oauth-4-laravel' –

+0

Еще раз спасибо. Возможно, я могу попробовать его в тестовой среде. Я уже успел зарегистрировать и использовать социальные возможности в Facebook, Twitter и Linkedin ... но Google по-прежнему остается проблемой :( –

Смежные вопросы