Facebook SDK permissions for tagging - facebook

I want to get my app approved by Facebook. My app is sharing posts on the users timeline. I requested the user_friends and publish_actions for this. Both got approved from Facebook.
I also requested the "Taggable Friends API", but this wasn't approved.
Do I even need this to publish content with a friend choosen via user_friends? Or is this somehow unrelated to what I'm doing? I only found OpenGraph examples with it and I'm not using OG in any place.

Related

Retrieve FaceBook user's friends profile pictures with Graph API v2.3

I am in the prototype and research stage of an app that would create a quiz about a FaceBook user's friends. The gist is that each question would ask the user to match the profile picture of her Facebook friend with the name of the Facebook user that picture belongs to.
As I read the v2.3 Facebook API documentation, specifically the section about the user_friends permission, it appears that any app I make will only be able to get the user's friends' info if the friend has also installed and authorized my app.
If this is indeed the case, I won't even attempt the app as it's unlikely to be any fun if the content is limited to the set of friends who have installed the app.
Is there any other way to get the user's friends info while staying within the bounds of the Facebook Developers Terms of Service AND without requiring that the user's friend has installed and authorized my app?
Yes, that is indeed the case, you can only get access to friends who authorized your App with user_friends too. There is no other way since you don´t want to "invite friends to a canvas game" or "tag friends".
Check out the answer in this thread for more information: Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app

Reading news feeds from Facebook fails after upgrading graph API 2.0

Hi There is a requirement in my application, where we need to show the user news feeds. For this we were using Facebook permission "read-stream" before Facebook has changed their list of permissions.
Now after they have shifted to the new API v2.0 there are comments saying that
"read_stream permission is granted to apps building a Facebook-branded client on platforms where Facebook is not already available. For example, Android and iOS apps will not be approved for this permission. In addition, Web, Desktop, in-car and TV apps will not be granted this permission."
If this is so what is the alternative to make my app fetch news feeds as earlier.
There is a another permission called "User_Posts" which says "Provides access to the posts on a person's Timeline. Includes their own posts, posts they are tagged in, and posts other people make on their Timeline"
But i am not able to see any posts or news feeds in my application when i have replaced "read_stream" with "user_posts".
The alternative is the user_posts permission and the /me/posts endpoint. Of course this does not return posts of friends for privacy reasons. You can read more about that in the changelog.
If you don´t get any results, make sure the Access Token includes the user_posts permission and debug it in the Debugger.

Is publish_actions required to post on user own wall? Facebook API

When requesting publish_actions permission the message says the app is willing to post on your friends' wall but I actually just want my app to let the user post videos on his own wall. Do I need this permission to do so?
If you just want to share a Link (to a Youtube Video, for example), you can just use the Share Dialog - no authorization or permissions needed: https://developers.facebook.com/docs/sharing/reference/share-dialog
If you want to upload a photo or video, you will need to authorize the user with publish_actions. Keep in mind that the message must be 100% user generated.
Check out the "Publishing" part of the Facebook docs: https://developers.facebook.com/docs/graph-api/reference/v2.1/user/videos
A user access token with publish_actions permission can be used to publish new photos.
...well, that is actually a bug in the docs, it should be "videos", not "photos", of course. I´ve filed a bug report for this: https://developers.facebook.com/bugs/303448543173296/
General information about sharing: https://developers.facebook.com/docs/web/share
Do you use standards dialogs? According to the facebook api documentation you don't need this permission for theses dialogs.
(see: https://developers.facebook.com/docs/facebook-login/permissions/v2.1#reference-publish_actions)
If you use the Facebook Graph API you don't need this permission if you only want to post on the user feed.

How is that possible that Copious app can publish on wall without publish_stream permission?

Something very strange with this website copious.com, when you registered on this website via Facebook the FB Copious App doesn't ask extended permission "publish_stream", on the following page you complete your registration on copious.com and you can choose " Post to my Facebook Wall that I joined Copious". So for testing I choose this option (reminder: the App doesn't have the publish_stream permission). And unreal few seconds after you will see on your wall a post with "I'm now discovering great finds on Copious.", message that all friends can see! How is that possible?
this activity does not require publish_stream. publish_actions gives the ability to publish to a user's feed as of 4/12.

Was my Facebook wall POST successful?

I can post on my friends wall after authenticating the Facebook Graph Explorer (or any app with publish_stream permission for that matter).
Facebook Graph Explorer
However, how can I validate in my app that the message has actually posted successfully to my friends wall? In some cases, I can go to my friends page and see my message appear, however, in other cases, I notice that there is no message on their wall.
In either case, Facebook returns an object id, like:
100002349949136_184284371659893
Yet, when I view these posts on the graph (link above), they both return false... The rules of my app require that a message is posted on another user's wall.
How can I validate that a message appears on a Facebook wall? Or how can I filter user's who have restricted 3rd party apps from posting on their walls?
The post must be publicly viewable if you're attempting to read the post without an app access token. If it is not publicly viewable, then you must have read_stream permission set in the app you're attempting to read the post with.
Here is the documentation. https://developers.facebook.com/docs/reference/api/post/