Как получить события с помощью AJAX, используя graph.facebook.com - PullRequest
1 голос
/ 25 февраля 2012

Прежде всего: я хочу разместить материал, который я публикую на Facebook, на моем собственном сайте. Я НЕ хочу публиковать материалы со своего сайта в Facebook.

Обратите внимание, что я удалил все https: // со всех URL.

С учетом сказанного, вот что я сделал до сих пор.

Я создал приложение с помощью developers.facebook.com/apps. В разделе «Диалог авторизации» я добавил «user_events» в «Полномочия пользователя и друга».

Затем я ввел это в браузер: graph.facebook.com/oauth/authorize?type=user_agent&client_id=[my-app-id]&redirect_uri=[my-site-url]. После чего я был перенаправлен на [my-site-url] с токеном доступа, который я сохранил.

Я получаю данные, когда использую $ .ajax и звоню:

  • graph.facebook.com / [моя-фб-идентификатор] / подача
  • graph.facebook.com / [моя-фб-ID] / альбомы
  • graph.facebook.com / [альбом-ID] / фото

Но когда я использую этот access_token, чтобы получать события таким образом:

fbResponse = $.ajax({
  url: 'graph.facebook.com/[my-fb-id]/events',
  contentType : 'application/json; charset=utf-8',
  dataType    : 'jsonp',
  data        : {access_token: [access_token]},
  type        : 'GET'
});

fbResponse.done(function(data){
  console.log(JSON.stringify(data));
};

... все, что я получаю в консоли:

{
  "data": [
  ]
}

То же самое происходит, когда я пытаюсь использовать тот же access_token в developers.facebook.com/tools/explorer. НО, когда я нажимаю кнопку [Получить токен] (и я не выбираю никаких дополнительных разрешений во всплывающем окне), я получаю данные!

И если я использую маркер доступа, полученный при нажатии кнопки на странице проводника на моем веб-сайте ... Я также получаю данные! Но этот токен истекает!

Что я делаю неправильно и как мне заполучить мои события?

...