我正在使用图谱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发送回复消息或新消息?
谢谢你, 摩西
答案 0 :(得分:1)
首先,用户没有me/conversations
个端点。对话仅适用于页面,因此它为/{page-id}/conversations
:https://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