使用图形 API 进行 Facebook 聊天
Posted
技术标签:
【中文标题】使用图形 API 进行 Facebook 聊天【英文标题】:Facebook chat using graph API 【发布时间】:2015-01-06 13:33:44 【问题描述】:我正在使用图形 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 发送回复消息或新消息?
谢谢你, 摩西
【问题讨论】:
【参考方案1】:首先,用户没有me/conversations
端点。对话仅适用于页面,因此它将是 /page-id/conversations
: https://developers.facebook.com/docs/graph-api/reference/v2.2/page/conversations
Facebook 文档详细解释了它的工作原理,包括一些示例代码。我建议改用其中一种官方 SDK(JS SDK、php SDK...)。
Chat API(这是您想要使用的)已弃用:https://developers.facebook.com/docs/chat/
意思是,您的应用程序中无法再使用 Facebook 聊天。
【讨论】:
me/conversations 确实存在,如果令牌是页面令牌则有效。【参考方案2】:我找到了解决方法,方法是根据对话 ID 进行回复。
例如:
m_facebookClient.publish("t_mid.1420120490471:36257b35667389d257/messages", FacebookType.class, Parameter.with("message", "RestFB test"));
t_mid.1420120490471:36257b35667389d257 - 是对话 ID
【讨论】:
是的,正如我所说,这在 facebook 文档中得到了很好的解释。当然,您会回复特定的对话 ID。如果您查看我发布的链接,这是其中的信息之一:“您无法使用此边缘发布,您可以使用 /conversation-id/messages 边缘通过 API 发送回复。 " 这个解决方案还能用吗? t_mid.1420120490471:36257b35667389d257 看起来不像对话 ID。你能给我一个链接吗?这些“解释清楚的 facebook 文档”在哪里?以上是关于使用图形 API 进行 Facebook 聊天的主要内容,如果未能解决你的问题,请参考以下文章
Facebook 聊天 API - 是不是可以与 2 个未知用户聊天?
Facebook:用于订阅用户到 Facebook(webhook)以进行实时更改的图形 api 是啥