Post reply to Facebook conversation

I don't think it's actually possible to send a reply to a private message via the graph api. I can see why this might seem confusing, especially as it has a 'comments' connection. From what I can gather from the docs https://developers.facebook.com/docs/reference/login/extended-permissions/ the "publish_actions" permission "Enables your app to post content, comments and likes to a user's stream" note that it only says post to a users STREAM.

I believe Facebook deprecated this ability due to the fact that apps could potentially spam users. All they would need is 1 legitimate message and they could constantly reply with comments. Also the message pages https://developers.facebook.com/docs/reference/api/message/ specifically only lists "reading" as an option.

You can also see the response in this post

how send message facebook friend through graph api using Accessstoken

What's interesting though, is that a Page account can reply to private messages, provided a user has initiated it first. And the page can only send 2 replies without a reply from the user. My guess is this allows for 1 "auto-responder" and then an actual reply from someone addressing a user https://developers.facebook.com/docs/reference/api/page/#messages This is probably to allow businesses to reply to customers.

My guess is that any app can't just send private messages as the potential for spam would be huge once you have a users access_token. There's obviously the send dialog that addresses this, but I appreciate in your case you want to reply to a message rather than create a new one.

The "send" button says it should be used in cases where the conversation is private, e.g where you might send an email.

https://developers.facebook.com/docs/reference/dialogs/send/

In an app situation, what this means realistically is that you would request the "read_mailbox" permission, you could then notify a user of your app that they have an unread message from a particular user. You could then create a send dialog, and prefill the "to" field with the uid of the friend who originally sent the message. This would then appear as part of the "comments" connection in the api explorer (I have tested this)

The only caveat is that a user could of course add additional names to the send dialog and in doing so start a new convo.

hope this helps