как получить разговоры на странице facebook через Restfb?

Я работаю над приложением, которое управляет страницей facebook. Мне нужно загрузить личные разговоры на этой странице. Для этой цели я использую API графика restfb. Я попробовал несколько примеров, но они не работают. Ниже приведен код, который я пытаюсь использовать для справки.

Connection<Conversation> conversations = facebookClient.fetchConnection("me/conversations", Conversation.class);

for(List<Conversation> conversationPage : conversations) {
  for(Conversation conversation : conversationPage) {
    System.out.println(conversation);
    System.out.println(conversation.getUnreadCount());

    Message lastMessage = null;
    for (Message message : conversation.getMessages())
    {
      System.out.println("Message text = " + message.getMessage());
      System.out.println("Message unread = " + message.getUnread());
      System.out.println("Message from = " + message.getFrom().getName());
      System.out.println("Message to = " + message.getTo().get(0).getName());
      System.out.println("Message unseen = " + message.getUnseen());
      lastMessage = message;
    }
  }
}

но он дает мне 0 сообщений в

System.out.println(диалог.getUnreadCount());

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


person Muhammad Adnan    schedule 19.01.2016    source источник
comment
Какой токен доступа вы используете для вызова API и какие разрешения он включает?   -  person CBroe    schedule 19.01.2016
comment
Спасибо за ответ. Я использую постоянный токен доступа к странице, как я могу проверить разрешения для токена доступа к странице?   -  person Muhammad Adnan    schedule 19.01.2016
comment
Скопируйте и вставьте его в developers.facebook.com/tools/debug.   -  person CBroe    schedule 19.01.2016
comment
это области, назначенные маркеру. Я предполагаю, что эти области определяют доступ? день рождения пользователя, user_religion_politics, user_relationships, user_relationship_details, user_hometown, user_location, user_likes, user_managed_groups, user_photos, user_friends, user_about_me, user_status, user_posts, read_page_mailboxes, rsvp_event, read_insights, manage_pages, publish_pages, publish_actions   -  person Muhammad Adnan    schedule 19.01.2016
comment
Это должно быть в порядке. Может быть, сообщения не прочитаны (уже не прочитаны), вы можете проверить, каково их общее количество? Кроме того, попробуйте свой запрос в Graph API Explorer и посмотрите, какой результат вы там получите.   -  person CBroe    schedule 19.01.2016
comment
Я проверил счет. Это дает мне правильный подсчет разговоров, т.е. 3. Вот результат для вашей справки.   -  person Muhammad Adnan    schedule 19.01.2016
comment
данные: [ { время_обновления: 2016-01-19T10:16:38+0000, ссылка: /testAccount/manager/messages/=mid.xxasd%3&folder=inbox, id: t_mid.1453184898762:mmx}, {время_обновления: 2016- 01-19T10:06:13+0000, ссылка: /testAccount/manager/messages/?mercurythreadid=user%3Aadsasd53s448&threadid=mid‌​.sdasdxxas%3&folder=inbox, id: t_mid.1453184898762:ssx}, { updated_time: 2016-01 -19T07:00:15+0000, ссылка: /testAccount/manager/messages/ mid.1453184898762%3&folder=inbox, id: t_mid.1453184898762:asdadadsad }   -  person Muhammad Adnan    schedule 19.01.2016


Ответы (1)


Спасибо CBroe за помощь. Я получил ответ, отладив API графа facebook. вот код, который я использовал.

Connection<Conversation> conversations = facebookClient.fetchConnection("me/conversations", Conversation.class);
     for(List<Conversation> conversationPage : conversations) {
        for(Conversation conversation : conversationPage) {
          String id = conversation.getId();
          Connection<Message> messages = facebookClient.fetchConnection(id + "/messages", Message.class, Parameter.with("fields", "message,created_time,from,id"));
        }
     }
person Muhammad Adnan    schedule 20.01.2016