Как получить число лайков только с разрешением публикации_действия?

У меня есть веб-приложение, которое использует API Facebook. Теперь я столкнулся с проблемой получения общего количества лайков от сообщения пользователя.

У меня есть долгоживущий «userToken», действительный в течение 2 месяцев, со следующими областями действия: public_profile, электронная почта, manage_pages, publish_actions.

Я использую «POST/feed», чтобы отправить ссылку на временную шкалу пользователя, и получаю идентификатор сообщения.

Затем я пытаюсь получить общее количество лайков для этого поста с помощью «GET /{POST_ID}/likes?sumary=true» и получаю НОЛЬ лайков, даже если у поста много лайков.

{
  "data": [
  ],
  "summary": {
    "total_count": 0
  }
}

Я попытался использовать только "GET/{POST_ID}" для получения информации о публикации и получил следующий ответ json:

{
      "error": {
        "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
        "type": "GraphMethodException",
        "code": 100
      }
}

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

Я сделал тест, добавив область read_stream, и я могу получить информацию о сообщении. Однако я прочитал в документации API, что это разрешение имеет ограниченное использование: «Это разрешение предоставляется приложениям, создающим клиент под брендом Facebook на платформах, где Facebook еще не доступен».

Затем я начал проверять другие приложения, которые получают лайки, и заметил, что они используют только public_profile, email, manage_pages, publish_actions. Они не используют read_stream.

Итак, мой вопрос в том, как они могут получить эту информацию только с этими областями?

Надеюсь, кто-нибудь из вас сможет мне помочь?

Спасибо


person yhony    schedule 05.02.2015    source источник


Ответы (1)


Не могли бы вы проверить, если сообщение public.

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

Чтобы получить фид, вам необходимо разрешение read_stream или user_posts.

person Norbert    schedule 22.04.2015