How to get existing users using Timeline - facebook

Once Timeline goes live, how do we get our users to give publish_actions permission?
We've added this to our Auth Dialog settings, should we redirect (existing-)users back to that dialog once timeline goes live to get publish_actions permission, or will that happen automatically?
Also, it seems the auth dialog happens automatically now, without any custom FB code required, if they don't have the app allowed.

Related

Facebook UI and API show different permissions granted, can't re-request

I have an app that lets you schedule posts to Facebook for your Facebook Pages, among other things.
For some reason late last week, the API started showing users of my app having different permissions than the Facebook UI (Settings->Apps->(my app)). The app was working fine for months, and suddenly stopped because of this permission change.
The users did not make any changes to the App's permissions, or their global security settings. Facebook still shows the correct permissions for the App for the logged in user in their App settings [1]. When logged into my site, however, the API request shows none of the extended_permissions [2]. The users have not changed their FB password. I have confirmed the app is requesting the correct user via the API.
Things I've tried:
When I force a re-request of the extended_permissions (manage_pages, publish_stream, read_insights), it is simply ignored.
When I add a new permission (manage_ads), ONLY that permission is requested in the UI.
When the user removes the app in Facebook and re-installs, only the new permission (manage_ads) is requested.
If I remove manage_ads from the request and the user removes and
re-installs, no extended_permissions are asked for.
If I make the
user a developer/admin of my App in the Developer/App settings on FB,
everything works as expected and the user is prompted for the correct permissions again. (and everything has been working for me, the admin of the app, this entire time)
I'm not sure what to do or how to proceed! Thank you in advance!
See screenshots here of the user's Facebook settings page and print_r of /me/permissions:
[1] http://i.stack.imgur.com/eS7Kw.png (Facebook UI in App Settings)
[2] http://i.stack.imgur.com/pZYYJ.png (Facebook API /me/permissions)

items about "would like to post to Facebook for you"

I write a program that says "Program would like to post to Facebook for you"
what item should i submit for review?
is that "publish_actions"?
but Facebook just say "It looks like you haven't made any API requests to publish content with the publish_actions permission in the last 30 days. You, or any account from Roles, needs to test this app with this permission before you can submit it for review."
Then I add my account to testers and test the program,but nothing changed, why?
what should i do?
The message "Program would like to post to Facebook for you" appears because you're requesting the publish_actions permission during login. It sounds like your app doesn't actually make use of this permission though.
Keep in mind that if you're using a dialog or button to share content (for example the Share Dialog, Like Button, Send Button or Message Dialog), the publish_actions permission is not used as the actual sharing is done by the Facebook app. The publish_actions permission is only used if you're directly posting to Facebook from your app via the Graph API by calling /me/feed or a similar endpoint.
If you're only using dialogs or buttons to share, you don't need to request the publish_actions permission during login and your app doesn't need to be reviewed for this permission.

Automatically activate users' timeline on login

I am using the JavaScript SDK to login in the user on my website via Facebook, requiring the publish_actions permission. If I am getting it right, Open Graph stories published by using publish_actions are only visible for users who have their timeline enabled.
Is it possible to automatically activate the users' timeline after he logged in to my application and gave me the publish_actions permissions. I've seen authentication dialogs around the web where applications request the publish_actions permission and after granting the permission and logging in, the user automatically has the new timeline enabled.
I already searched a lot, but unfortunately I could not find anything in the developer documentation about how to do that.
How do I accomplish this?
If you request the publish_actions permission from the user and you have the action approved by Facebook, the message you talk about will appear in the login popup. Facebook automatically adds this message in as the features are only available with the new timeline profile. There isn't a setting you need to configure to add this message in.
What you describe is the intent of modifying user settings, and you can't do that.

Can I always show permission dialog in Facebook application when user logins?

I'm trying to write application for user login to website via Facebook. When user is logging in, he's redirected to http://www.facebook.com/dialog/oauth/?client_id=APP_ID&redirect_uri=REDIRECT_URL&state=STATE, then sees confirmation dialog to use permissions and all goes well. But then FB somehow remembers this application and never asks for permissions confirmation again when user opens this url. Is there any way to always show this dialog? I could do it in Twitter, but couldn't found the answer for Facebook.
If you really want this for some reason, uninstall the app from the user's account with a HTTP DELETE request to /USER_ID/permissions using your app access token.
The next time they come back they'll need to re-authorise the app.
Otherwise, no, there's no way that I'm aware of apart from the reauthentication flow to force the auth dialog to appear, but bear in mind that the reauthentication flow may prompt the user to re-enter their Facebook password even if they're already logged into Facebook, so it adds extra friction to the process
Instead of showing the Facebook OAuth dialog, you could also show the user a page on your application that has some information about the Facebook account that is going to be used (picture/name etc), to log into it. That way, if they like they can choose to log out and re-authenticate or continue knowing they have the right account.

How to hide the facebook authorization dialog on iPhone?

I'm implementing facebook connect for my iPhone app. The current facebook SDK would keep you logged in unless you log out explicitly, which is fine with me as stay logged in is actually the requirement. However, I don't want the users to go press the log in button if they never logged out. In this case, I won't be able to grab the facebook object, which I'll need in other parts of my app. So I was planning to simulate the log in event anyways, but that led me to another problem: even though permissions are granted to my facebook app before, it will still pop up the authorization dialog to my users saying they have granted permissions to my app. My question is, how do I hide this? Or, is there a way that I can grab the valid facebook object without calling authorize on my facebook object when my app is restarted and the user stayed logged in?
Any suggestion would be appreciated.
You could redirect the user to https://www.facebook.com/login.php?api_key=<YOUR_APP_ID>. (This is the URL that the PHP Facebook SDK returns when you call getLoginUrl()).This will avoid the dialog and still allow users to authorize your app.