2014-10-20 3 views
0

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

Задача: Невозможно получить списки контактов 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?

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

ответ

1

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

+0

Спасибо тонну. Просто проверено и работает как шарм. Я фактически начал использовать клиент PHP API Google вместо этого пакета. – Anji

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