Testing "publish_actions" in Facebook app - facebook

How do I configure my Facebook app so that I can test "publish_actions"?
Is 'publish_actions' extended permissions available for testing?
How can I request the "publish_actions" permission?
The above two questions are identical, but the answers are out of date; they are all from the beta version of the Open Graph API and the introduction of the "publish_actions" permission.

The permissions are added with the login code using parameter scope. Details here
After adding the permission the admin/developers/testers of the app can test your application and publish posts; while app is in development mode.
When your app is ready submit your app for the login review. After they approve your app with this permission, you can make your app public and everybody can publish post using your app. That's it.

Related

Submitting a New Scope for Approval on Facebook App Verification

I have an existing app that allows users to create and share live videos on their personal profile. I tested this app in developer mode, submitted it for verification and the approval team could use their test users to demo the functionality and then approve the app.
It's now three months later and I want to update the app to allow the same functionality for the user's pages. So I add the scope pages_manage_posts to my app review and test on a separate testing app in developer mode.
When I use test users on the live app though, myself and the test users can't use the scope that's not yet been approved, even on Pages the business owns. Because of this the app reviewers can't testing the functionality and won't approve the new permission.
(#200) If posting to a group, requires app being installed in the group, and either publish_to_groups permission with user token, or both manage_pages and publish_pages permission with page token; If posting to a page, requires both manage_pages and publish_pages as an admin with sufficient administrative permission
How can you test and approve new scopes on an existing live Facebook App? I'm stuck in a loop/
I was instructed to use Facebook Test Apps. Here's how I did it:
I created a test app with the instructions here: https://developers.facebook.com/docs/apps/test-apps/
I updated my app so that when logged in with the test user the Facebook API would switch to the app id and secret token from the new test app
Re-submitted. I'll see if that helps

publish_pages not working for development app

I'm trying to make an app that will allow blog posts from my website to be published to a Facebook page which I am the admin of.
Obviously I need the publish_pages and manage_pages permission to do this and I need to provide a screencast showing how these permissions will be used.
From my understanding, I can still publish a post from my website to my Facebook page while the app is in development mode as long as I am the admin of the page (which I am) but the posts won't be visible to the public.
So I complete the authentication process here (see below).
Finally I add my blog post. However, I then get the following as an error message
"(#200) The permission(s) publish_actions are not available. It has been deprecated. If you want to provide a way for your app users to share content to Facebook, we encourage you to use our Sharing products instead."
Would this be an issue with the system I am using, making a depreciated API call?
Deprecation:
The publish_actions permission will be deprecated. This permission granted apps access to publish posts to Facebook as the logged in user. Apps created from today onwards will not have access to this permission. Apps created before today that have been previously approved to request publish_actions can continue to do so until August 1, 2018. No further apps will be approved to use publish_actions via app review. Developers currently utilizing publish_actions are encouraged to switch to Facebook's Share dialogs for web, iOS and Android.
From now on you can only publish to your own facebook profile not facebook page. For more information you can visit their official documentation

How do I test Facebook integration (retrieving a user's friendlists) before the app is approved?

I've tried requesting permissions in my app, but the FB login popup contains a red error message saying that the app must be approved before it can request the user_friendlists permission.
How is this possible if the review/approval process requires a working test version of the app?
The problem is similar to this question: Testing Facebook integration prior to approval except mine is a website so the solution there doesn't apply.
The user logging into facebook from the app must be listed under the Tester roles in the app settings. The tester also has to be a profile other than the administrator, which you probably are if you created the app, and it must have a profile picture and be friends with the administrator.

Test Facebook permissions not yet granted

Is there a way for me to test permissions that are not yet granted to my app by Facebook like the "user_status" permission? I need to test "user_status" for a future app that is not yet in develop since I need to prove that what the client wants is possible.
As long as you are testing with an app admin/tester/developer, everything should work, even if the app didn't pass the facebook Review yet.
See
https://developers.facebook.com/docs/apps/review/login#do-you-need-review
However, in order to help you craft your Facebook Login experience, your app's developers will be able to see, and grant, any permission without requiring review by Facebook.
Note: People who are listed in your app's Roles tab will have access to extended permissions without going through review (e.g. publish_actions or manage_pages). For example, if you use the Facebook Plugin for Wordpress to publish your blog posts to your Facebook Page or Profile, you do not need to submit for review so long as all your publishers are listed in your app's Roles tab.
Also, if you're the developer of an app and are the only person using it, then your app doesn't need to go through review. Since you're the developer, all app capabilities should be available. You will still need to take your app out of developer mode, but you should be able to do that without going through review.

new app-id - OAuthException (#200) on post comment

Since I created a new (Facebook) App last week, I get an OAuthException whenever I want to comment on a post.
"(OAuthException) (#200) You do not have sufficient to permissions to perform this action".
With the old App, my application works fine.
Now I found out that Facebook has changed the login policy recently. I also found the following remark on https://developers.facebook.com/docs/facebook-login/permissions/v2.0:
"If your app asks for more than than public_profile, email and user_friends it will require review by Facebook before your app can be used by people other than the app's developers".
So if I post with the same account with which I created the App, it should work, right? Only it doesn't...
Remark: if I use the new App with another Facebook-account, I have even less permissions (e.g. cannot access the account's pages). So I have more permissions if I use the same account, but still I cannot post!
I use Graph API via .NET Facebook-Client; my App is a native app (desktop app).
Could someone please tell me how to post with a new App? This is the main use-case of our application! Thank you very much!
Here is a screenshot of what I see instead of the login-screen when I use extended permission "publish_action" instead of "publish_stream"
You must be able to post with your own account since you are the admin of the application. - since only the admins/developers/testers will be able to test the app with the publishing functionality before it gets approved by facebook.
If you still are not able to, you must have not granted the permissions to the app. Things to check-
You are using publish_actions and not publish_stream
Check in your application settings whether or not you can see the publishing permission is granted for that app.
If not granted, go through the login process again and grant the publishing permission (may be by removing the app from settings and then authorizing again OR logout the app and then login again with publish_actions)
Problem solved - it was a stupid typo: I wrote publish_action instead of publish_actions (should be plural)! Thanks again to CBroe who pointed it out in this thread!