Google Контакты API Проблемы с JavaScript Client с аутентификацией OAUTT2

в течение многих часов в течение многих часов, теперь документы, кажется, являются ужасными. По сути, я пытаюсь получить доступ к чтению доступа к контактам пользователя OAUTT2 AUTPENTATEL, используя либо портативных контактов API или полного взрыва контактов API . У Google есть недавно началось , позволяющий OAUTH2 .

Я могу получить доступ к контактам пользователя с помощью контактов API контактов, сначала получив пользователя аутентификацию с помощью области: «https://www.google.com/m8/feeds». Тогда я могу получить их первые 25 контактов, используя jQuery (показанный код CoffeeScript )

$.ajax
  url: "https://www.google.com/m8/feeds/contacts/default/full"
  dataType: 'jsonp'
  data: { access_token: token, alt: 'json-in-script' }
  success: (data, status) ->
    console.log "The returned data", data

, который работает, и я получаю данные JSON. Однако почти невероятно, единственным порядком контактов, которые Google предоставляет (насколько я могу сказать) - это « lastModified » (всерьез WTF?). Мне нужно что-то более похоже на «лучшие друзья» или «самые популярные».

Что, оказывается чем-то, что API Google портативных контактов может сделать , (Yay!). Конечно, я не могу получить успешный запрос на работу.

Во-первых, я получаю пользователя аутентификацию с портативными контактами API, нажав на эту ссылку (обратите внимание на область: «https://www-opensocial.googleusercontent.com/api/people") ]

Import Google Contacts

That И я получаю токен доступа, переданный обратно.

Далее я пытаюсь отправить запрос AJAX в портативные контакты API

$.ajax
  url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all"
  dataType: 'jsonp'
  data: { access_token: token, alt: 'json-in-script' }
  success: (data, status) ->
    console.log "The returned data", data

, но возвращает ошибку 403

403 (The currently logged in user and/or the gadget requesting data, does not have access to people data.

любые идеи, что я делаю не так?

Приложение
Я нашел Отчет об ошибках в форуме Google Oauth2, который посоветовал, что нам нужно установить заголовок авторизации при работе с портативными контактами API. Поэтому я попробовал это, как это:

$.ajax
  url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all"
  dataType: 'jsonp'
  data: { access_token: token, alt: 'json-in-script' }
  beforeSend: (xhr) ->
    xhr.setRequestHeader "Authorization", "OAuth #{token}"
  data: { access_token: token }
  success: (data, status) ->
    console.log "The returned data", data

, но это получает то же самое 403 Ошибка:

403 (The currently logged in user and/or the gadget requesting data, does not have access to people data

7
задан Kara 29 December 2013 в 23:47
поделиться