I cannot find any detail of what to specify for the Facebook Developer App to enable PUBLISH_ACTIONS.
They are asking a number of questions on the REVIEW STATUS form, which i do not the answer to.
1. My app does not auto-populate the user message field
Pre-filling the user message field is against Platform Policy 2.3 All content has to be manually entered by the user.
Instead, use Open Graph Tags to customize your app content.
2. My app does not use the Facebook Feed Dialog or the Facebook Share Dialog to publish content
3. My app does not post to Facebook automatically
4. How is your app using publish_actions?
a. Lets people post to Facebook using a custom composer
b, Publishes Open Graph stories
c. Other
Answers
The questions actually tell you how you can use publish_action permission.
Your answers to 1-3 are correct.
Question 4 gives valid choices, you're probably in situation 4.a, but that will depend on your site.
Regards
Is there any way to get your API to post to a Facebook page instead?
You need to first get a page reference for your user (page_token), from another API endpoint.
Regards
Feedback From Your Last Submission (Today at 1:27am)
People must enter all content in the user message field. Your app can't auto-populate the message field with any content, including links and hashtags, even if you allow users to edit the content before sharing.
Please remove any pre-filled text from your shared content before resubmitting for review.
--------------------
Here is the problem, the BODY parameter in your API does not allow an empty string ... when I tried it, the API publish call was ignored. So instead I had to use a full-stop '.' character instead.
Please take a look at this and a possible enhancement to allow the API call to take place in these situations.
Regards