Facebook Graph API - лайки возвращают мне пустой набор

Когда я пытаюсь получить все свои "лайки" (бывшие фанатские страницы) в Facebook Graph API, иногда он возвращает мне пустой набор:

{
   "data": [

   ]
}

Я пытался с https://graph.facebook.com/me/likes?access_token=MY_ACCESS_TOKEN и с graph.facebook.com/vinch/likes?access_token=MY_ACCESS_TOKEN, но результат точно такой же (пустой).

Есть идеи, что это может быть? Мне нужно знать, нравится ли пользователю (фанат) конкретная страница.

7 ответов

Решение

Добавить разрешение user_likes в ваше приложение

Я прочитал в журнале изменений 2010-12-12:

GET [page-id] / members / [user-id] вернет отдельного пользователя, если он или она является поклонником страницы (эквивалент API Graph для pages.isFan) (rE322057)

Таким образом, вы можете проверить с помощью Graph API, является ли известный user_id поклонником известного page_id именно с этим синтаксисом. Вам необходимо предоставить действительный access_token. С помощью параметра fields вы можете выбрать, что должен возвращать API. Например, добавьте "&fields=id,name,picture", чтобы получить id, name и picture, если пользователь является фанатом.

{
   "data": [
      {
         "id": "712084216",
         "name": "Mike Bretz",
         "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/hs842.snc4/70441_712084216_5491098_q.jpg"
      }
   ]
}

Вы получите пустой результат, если пользователь не фанат

{
   "data": [

   ]
}

Если вы используете Graph API Explorer. Вы можете установить разрешения, взяв Get Token Button вверху и указав user_likes и нажав ok. Попробуйте свой код еще раз..

Надеюсь это поможет

Ты не можешь получить likes из postиз-за проблемы с разрешением. https://developers.facebook.com/docs/graph-api/reference/v4.0/object/likes

Вчера Facebook исправил лайки ( http://developers.facebook.com/live_status)

Вы можете получить только пользовательские лайки, а не объектные лайки. Например, вы не можете получить всех пользователей по page_id.

Вы не можете получить подобие фан-страницы через API. Следуйте этой ошибке для получения дополнительной информации: http://bugs.developers.facebook.net/show_bug.cgi?id=12880

Если все, что вам нужно знать, это то, является ли пользователь фанатом чего-либо (а не списком лайков или списком фанатов), это должно сработать: http://developers.facebook.com/docs/reference/rest/pages.isFan.

Мой тестовый пользователь одобрил мое приложение до того, как было предоставлено разрешение на лайки, поэтому оно никогда не получало авторизацию лайков. Удалив приложение из профиля тестового пользователя и снова авторизовавшись, я смог получить его лайки.

Другие вопросы по тегам