为了在Facebook上发送信息,我尝试了这是一个简单的例子:
public void testSomeMethod()
{
String token = "XXXXXX";
FacebookClient facebookClient = new DefaultFacebookClient(token, Version.LATEST);
IdMessageRecipient recipient = new IdMessageRecipient("123456");
Message message = new Message("Just a simple text");
SendResponse resp = facebookClient.publish("me/messages", SendResponse.class,
Parameter.with("recipient", recipient), // the id or phone recipient
Parameter.with("message", message)); // one of the messages from above
}但我错了
com.restfb.exception.FacebookGraphException: Received Facebook error response of type GraphMethodException: Unsupported post request. Object with ID 'me' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api (code 100, subcode null)
at com.facebook.impl.FacebookImplTest.testSomeMethod(FacebookImplTest.java:57)你能提出一些解决方案吗?
发布于 2016-10-04 10:33:12
我在两个小时前解决了这个问题:)使用"{conversation_id}/messages“而不是"me/messages”。您可以使用以下代码获得conversation_id:
Connection<Conversation> conversations = pageClient.fetchConnection("me/conversations", Conversation.class);
for (List<Conversation> conversationPage : conversations) {
for (Conversation conversation : conversationPage) {
String id = conversation.getId(); //use this conversation_id
Connection<Message> messages = pageClient.fetchConnection(id + "/messages", Message.class, Parameter.with("fields", "message,created_time,from,id"));
messages.forEach(s -> s.forEach(k -> System.out.println(k.getFrom() + " " + k.getId() + " " + k.getMessage() + " " + k.getSubject() + " ")));
}
}以下代码适用于我:
FacebookClient pageClient = new DefaultFacebookClient(pageAccessToken, Version.VERSION_2_6);
IdMessageRecipient recipient = new IdMessageRecipient("{user_id}");
String conversationId = “t_mid.14XXX.. : XXX...” ;
SendResponse resp = pageClient.publish(conversationId +"/messages", SendResponse.class,
Parameter.with("recipient", recipient),
Parameter.with("message", "Uraaaa!!!")); https://stackoverflow.com/questions/39577186
复制相似问题