Facebook使用图形API聊天

时间:2015-01-06 13:33:45

标签: facebook facebook-graph-api chat

我正在使用图谱API来使用Facebook聊天。 我正在使用http://restfb.com/框架。 问题是,通过以下代码,我可以阅读所有对话和消息。

public void initClient()
    {

        m_facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN, MY_APP_SECRET);
    }
public void readPage()
    {
        Page page = m_facebookClient.fetchObject("352179081632935", Page.class);
        System.out.println("Page likes = " + page.getLikes());


        Connection<Conversation> conversations = m_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;
            }
        }    
    }

我想知道如何使用此框架或Graph API发送回复消息或新消息?

谢谢你, 摩西

2 个答案:

答案 0 :(得分:1)

首先,用户没有me/conversations个端点。对话仅适用于页面,因此它为/{page-id}/conversationshttps://developers.facebook.com/docs/graph-api/reference/v2.2/page/conversations

Facebook文档详细解释了它的工作原理,包括一些示例代码。我建议使用其中一个官方SDK(JS SDK,PHP SDK,...)。

不推荐使用聊天API(您希望使用的内容):https://developers.facebook.com/docs/chat/

意思是,在您的应用程序中使用Facebook聊天是不可能的。

答案 1 :(得分:0)

我找到了基于会话ID回复的解决方法。

例如:

m_facebookClient.publish("t_mid.1420120490471:36257b35667389d257/messages", FacebookType.class, Parameter.with("message", "RestFB test")); 

t_mid.1420120490471:36257b35667389d257 - 是会话ID