Я использую artdarek-oauth-4-laravel для входа на мой сайт через Facebook, Twitter и Google.
Входная часть работает нормально. Но я хочу получить больше данных из этих API, например, если пользователь регистрируется через Google, то я ищу их общую информацию, а также список контактов Google, или если пользователь регистрируется из Facebook, то я пытаюсь получить / я и / список друзей и т. д.
Здесь я просто беру случай с Google.
Я установил конфиг так
'Google' => array(
'client_id' => '***********************************',
'client_secret' => '***********************************',
'scope' => array('userinfo_email', 'userinfo_profile', 'https://www.google.com/m8/feeds/'),
),
Моя функция контроллера заключается в следующем:
public function loginWithGoogle()
{
$code = Input::get( 'code' );
$googleService = OAuth::consumer( 'Google' );
if ( !empty( $code ) )
{
$token = $googleService->requestAccessToken( $code );
// $result = json_decode( $googleService->request( 'https://www.googleapis.com/oauth2/v1/userinfo' ), true );
$result = json_decode( $googleService->request( 'https://www.google.com/m8/feeds/contacts/default/full' ), true );
echo json_encode($result);
}
else {
// get googleService authorization
$url = $googleService->getAuthorizationUri();
// return to google login url
return Redirect::to( (string)$url );
}
}
Этот код приводит меня к API Google и запрашивает все разрешения, которые я установил в сфере обслуживания. Здесь, как только я получил токен доступа после обмена параметром кода с API, я вызываю URL, чтобы вернуть мне список контактов, но это не удается. И я получаю это сообщение от laravel: -Не удалось запросить ресурс.
Если я вызываю прокомментированный запрос $ result, он возвращает мне результат.
Итак, я хотел знать, как мы можем использовать эту библиотеку для данных, кроме входа и регистрации. В случае получения списка друзей в Facebook происходит то же самое, но логин работает. (У моего приложения в Facebook есть разрешение на получение списка друзей).
Любая помощь приветствуется.
Проверьте этот ответ, https://stackoverflow.com/a/26488136/434790.
Это сработало для меня. Виновник: alt=json
быть добавленным к https://www.google.com/m8/feeds/contacts/default/full
Других решений пока нет …