Facebook app permissions - ios

I have an iOS app which posts to Facebook on behalf of the user logged in through the iOS Facebook setting.
Two problems -
the posts are marked private, the users friends don't see them.
The iOS app want to be able to harvest Like and Comment info but I get back a 400 from FB.
Here's the wrinkle, my Facebook account works perfectly (posts are visible to friends and I can get the Like and Comment info), but a test user account will post only as private and the iOS app gets a 400 when trying to get post info.
The attached screen shots show the different permissions (top for tester, bottom for me) but I can figure out what to ask Facebook for at login to get the same permissions for both users. Currently I'm asking for publish_actions and user_status.
Any help would be much appreciated!

You need to make sure you are asking for public_profile also you need to make sure you split your permission access into two pieces, as per FB, 1) read 2) write
Just follow the login process on the Facebook Dev page, this will allow you to outline your permissions the right way. Also make sure your test user is added into the groups on your Facebook Dev portal.
Also can you provide any code of what you have tried?

Turns out the post_id element was not what I wanted but rather the id. After that I could use json to get the comments and likes. So the call was almost correct.
And adding stream_read to the permissions got the post to be visible to friends...
Thanks for all the help!

Related

Alternative to Facebook read_stream

Is there an alternative to allowing the permissions of some sort rather then 'read_stream' permission in Facebook, for a user to read or an app pull their Facebook feed or home feed?
It's very hard, if at all, for Facebook to approve the 'read_stream' permission, so I'm looking for an alternative steps to still allow for our users to pull their favorite stories in our rails app. Any suggestions?
There is no alternative. You can use user_status to get the status posts of the authorized user with /me/statuses.
Btw, it´s not only "hard" to get read_stream approved, it´s nearly impossible ;) - but for very good reasons. Apps should not get access to posts of users who did not even authorize the App.
edit: There is also user_posts now, as replacement for read_stream: https://developers.facebook.com/docs/apps/changelog#v2_3_new_features
Did some investigation. And it is possible.
Instead of the feed you need to access the endpoint /me/posts
This API is accessible with either read_stream or user_posts permission.
https://developers.facebook.com/docs/facebook-login/permissions/v2.3#reference-user_posts
See here for more information:
https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed
It is quite hidden, but if you know where to look you can find the docs.

Facebook adding tester users and admin is: (pending), what does that mean?

The new Facebook developer integration should be really handy and easy, but i'm struggling with creating a test user or a regular Facebook user to get permissions to sign in my app.
I opened a "TestApp", and login in as a "Admin" works great!
The problem is adding more Facebook accounts and test users.
When i tried to add a Facebook account to "Testers" section, i get this (pending) message next to the persons name, and can not log in the app using Facebook with that user!
Same issue with adding a "Admin" to the app:
After this didn't work, i figured if i create a "TestUser" maybe i'll have better luck, but the test user does not show up when i'm trying to add him to the "Role".
Any one that can make this clear to me a-bit more will be much appreciated.
Thanks!
Found the answer, its a bit silly but if anyone else gets the same issue...
After you add a new user to the "Testers" he gets a notification that he must accept, so the "Pending" will go away, and the user will be activated.
This notification does not get to the Facebook home page, only to the "Developer section" of that user. As #rmp251 mentioned, that can be found on this page
Thanks for the help.
I just want to add few details on the answer but I cannot comment.
The test user need to register as Facebook developer (if he not reregistered already)
Link: https://developers.facebook.com/async/registration/
After that he need to approve the request from the app
Then he need to approve the request at this link
Link: https://developers.facebook.com/requests/
I was trying to add an administrator to a Page owned by a Gray account. The invitee would see a notification appear briefly, but it would vanish as soon as they clicked on the Notifications button, and would not show up in their list of notifications.
Workaround: The invitee can go here to see and accept the invite: https://www.facebook.com/pages/?category=invites
In case anyone is trying to add Instagram Test Users, there's also no documentation on where this "pending " request goes.
Log into the invited Instagram account in a web browser. Go to https://www.instagram.com/accounts/manage_access/. Click "Test Invites".
Log in from desktop to your instagram tester account. Press MORE then SETTING, then APPS AND WEBSITES and then you'll have a 4th tab TESTER. Also you have to add tester the instagram account that you want to display.

Confirm Facebook Post Exist

I am having a scenario within our iPhone App where people post things on their Facebook wall through our App. User's signup to our App. At a certain action, they post something on their Facebook wall and we want to track if this post will still exist after a certain time.
Once they signup to our App, they will either select as "Public" or "Friends" when they download our App. Is it possible to track from our end whether a certain post still exist or not?
Is there anything on the Facebook account settings as a user to disallow this to check?
When you post a feed, a post-id in returned in response. You can make a call using Graph API: \GET /{post-id}. If the post still exists, it'll return you all the details of the post but if not it will return the error in the response.
But, according to the documentation of /user/feed,
A user access token with read_stream permission is required.
Now this will make the things a bit complicated. Since a user token is valid for only few hours, you have to extend it (validity: 60days) and save it at your end. Also, read_stream perms is required.
To know more about extending the token and refreshing it again, see the "Expiration and Extending Tokens" section here: Access Tokens.

I get confirmation of my posted open graph action, but don't see any posts

I am using the new Facebook IOS SDK 3.0 and have integrated the Scrumptious sample into my app. I have specified the namespace and action for my app correctly. When I click "announce", I get "posted open graph action, id: xxxxx" so it looks like my post is successful. I am assuming the post will go to my personal Facebook news stream since that I who I am logged in as, however I don't see anything. Is there anything that needs to be done with my app to make it active? Or other settings that I might be overlooking? Thanks.
It turns out I didn't enable timeline on my facebook account so I didn't see the posts. Once I enabled it, I was able to see them. I could also see them in my activity log. I have another issue with tags now, but at least I am able to post now. Thanks.

IOS: Registering new app on Facebook

There must be an easy answer to this one....
I am trying to integrate my latest IOS App to Facebook. I have not used Facebook before, so just set up a "company" page with basic information on my firm.
I'm following all the Facebook links i.e. https://developers.facebook.com/docs/mobile/ios/build/
But I cannot get beyond Step 1 (LOL). Whenever I click the link "Step 1: Registering your iOS App with Facebook," it keeps taking me to my company's Facebook Admin screen!? I cannot find a way to register my App off this screen. Where is the "Add new app" link??
I'm going in circles. Help appreciated.
It's not possible to register an App under a Business account, and you have to create (or lend) a personal account. And keep in mind: Facebook frowns upon incorrect information, so should be a legit person or your account will be suspended when (not if) they find out.
Secondly you have to authorize your Facebook account. For example: by entering mobile phone no. and entering code from a text FB will send you (more info: http://www.facebook.com/confirmphone.php) or entering CC information (more info: https://secure.facebook.com/cards.php)
When you (finally) have an authenticated account:
https://developers.facebook.com/apps Is the location you should be looking at.
Over at http://developers.facebook.com/docs/opengraph/tutorial/ Step 1 describes the creation of a Facebook App. (rather simple, by clicking on "Create New App")
Hope this helps! Good luck!
I believe the problem is that you are attempting to create a Facebook App with your "page user". IE you clicked "Use Facebook as..." and clicked on one of your pages.
You can not create an application in this way. Applications must be created by "real" users. You're going to want to follow that tutorial you posted to and use your user.
If you are hesitant to use your own account, ask your boss to use his or request from your clients login credentials to open the application on their account.
The reason behind this is so that Facebook can track "bad" applications back to real people, people who had to verify their account by submitting a mobile phone or credit card number.

Resources