Laravel: API контактов Google дает пустые результаты

Я пытаюсь использовать Laravel 4.2 + OAuth2. Я использую этот пакет: ardarek-oauth-4-laravel для Laravel. Вот мои связанные файлы.

Проблема: Невозможно получить списки контактов Google.

// Config - app/config/packages/artdarek/oauth-4-laravel/config.php - 'consumers'

Google' => array(
'client_id' => '**********',
'client_secret' => '*******',
'scope' => array('https://www.googleapis.com/auth/tasks', 'https://www.google.com/m8/feeds/')
),// Controller

public function importGoogleContacts() {

$code = Input::get('code'); // get data from input
$googleService = OAuth::consumer('Google'); // get google service

// if code is provided get user data and sign in
if (!empty($code)) {
Log::info('authorised');
// This was a callback request from google, get the token
$token = $googleService->requestAccessToken($code);

// Send a request with it
// $result = json_decode($googleService->request('https://www.googleapis.com/tasks/v1/lists/MDkyOTg5ODc5NDYw/tasks'), true);
$result = json_decode($googleService->request('https://www.google.com/m8/feeds/contacts/default/full'), true);
return Response::json($result);
}
// if not ask for permission first
else {
Log::info('not authorised');
$url = $googleService->getAuthorizationUri(); // get googleService authorization
Log::info('URL: ' . $url);
return Redirect::to((string)$url); // return to google login url
}
}

Я старался userprofile а также tasks API-интерфейсы. Оба работают нормально — я могу получить userProfile информация и Tasks List, Но когда я пытаюсь найти контакты, это приводит к пустому результату. Есть идеи, как решить эту проблему? Есть ли другой пакет для Laravel?

Спасибо заранее — Анжи

0

Решение

API контактов Google возвращает XML по умолчанию, а не JSON, как многие другие API Google. Чтобы вернуть JSON, добавьте ?alt=json на URL.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]