How to allow users to turn add to timeline posts on/off? - facebook

I am building an app that uses the Add to Timeline functionality to post to a users wall. However, now I want to allow the user to decide if they want to post to their wall or not; essentially an on/off add-to-timeline toggle. Any ideas?
For example, if they are reading a news story - the user can decide if they want to post using add-to-timeline or not. Dailymotion has this when logged in using your facebook account and viewing a video. Right below the video shows a 'Social On' with a preview of what will be posted to your timeline.
Thanks in advance.
Cheers.

Have a look at how social reader apps do this. We worked with all the launch apps do design privacy controls that let you enable/disable posting activity to timeline, or remove a recent specific activity.
Here's more from the Guardian's FAQ's: http://www.guardian.co.uk/help/insideguardian/2011/sep/22/the-guardian-on-facebook-app
And from The Independent: http://www.independent.co.uk/news/media/online/recently-read-on-the-independent-2359683.html
Technically, its a switch within your app which decides if you make the post to FB or not. If you want to allow the user to permenently remove your ability to publish Timeline, you can perform an HTTP DELETE on
https://graph.facebook.com/me/permissions/publish_actions
and the permission will be programmatically revoked.

Related

If Facebook Feed dialog is deprecated, how are you to share posts on Facebook?

I have been working on a Facebook app for some time, and we are having trouble getting the app approved. I feel like Facebook's app approval process is a constantly moving target and their explanations are provide the least amount of detail possible, leaving the door open for further rejections.
We are using a Facebook app to provide sharing functionality for products that are behind a paywall. All of our share buttons are custom, so they fit in our designs (we don't want to use the out of the box buttons). We first built the app attempting to use the recommended share dialog with open graph actions and stories. The problem here is that you can only use the share dialog with a shared link. Facebook reads any open graph tags on the page to provide sharing information, but because there are many different "products" on a given page, we can't use open graph tags. Because of our environment, we couldn't use the actions or stories. Furthermore, we'd like to customize that share information, so using share dialog is not an option.
Unfortunately, we had left our open graph stories and actions in our app when we first attempted approval. In our first denial, Facebook told us that we had implemented our open graph actions and stories incorrectly. We were not using the share dialog, but the 'feed' method, which is deprecated in 2.0 but still works. Thinking that Facebook looked at our app and noticed we were not using those actions correctly, we figured if we removed those stories and actions from the app, Facebook would see our share method worked and approve us. Wrong.
We had built the share using the publish_actions permission, along with FB.login() and FB.ui(). Facebook denied us because our app did not need publish_actions. They recommended we use the share dialog which did not need login or permissions.
We removed the publish_actions permission and FB.login(). When we tested this, you could still login to Facebook and perform the share WITHOUT fb.login(). So we thought it was good to go. It was not; Facebook told us we needed to implement login(), even thought the docs say you don't need it.
Now we have reimplemented login() and are going to try to get it approved again, but I have a feeling it's going to get rejected due to the 'feed' method being deprecated.
So my questions are:
A) If you have a website providing a paid service, how do you allow your users to post to their feeds, using the newer share method, with data you'd like? Eg: "I just completed the Get Moving III workout at teamexos.com!" The post would contain no pics or links. If it had to, a link to teamexos.com would be ok.
B) How do paid sites provide open graph actions and stories? Do they have public links to their products? Do those products have their own individual pages, with their own open graph tags?
First of all, the feed dialog is not deprecated, at least not anymore. You do not need to get anything approved for it, and you certainly don´t need login: https://developers.facebook.com/docs/sharing/reference/feed-dialog/
But: Your example looks like an Open Graph story, you should consider taking a look at those: https://developers.facebook.com/docs/sharing/opengraph

Facebook Like button for one facebook page of an app from it's own ios app

I am looking for Like Button to be shown in my ios native app, users of that app have already connected to app via facebook account.
there are several questions related to Facebook Like Button on stackoverflow but those are not specific to authorized single facebook page of the app.
According to official doc of facebook, facebook pages can not be liked via built-in action o open graph api.
But want only one official facebook page of that app to be liked by user when he hits like button. i don't want user to navigate away from the app or login again in web view to like facebook page.
is it possible to like app's facebook page without promoting user to log in again in webveiw?
Edit
Findings
1. https://stackoverflow.com/a/5837036/1632984
2. Comment by wallacer
"the general consensus does seem to be that you can't like a page on behalf of the user, however I just had an ios game like a page on my behalf. Extreme Road Trip successfully manages to get you to like their own page. I wish I'd paid more attention when I did it now..." – wallacer
This still can't be done directly using the graph api ( to the best of my knowledge ). What you can do is open a webview to the page you want the user to like. If you're rewarding their liking your app or something, when they close the webview (you'll have to provide a close button), you can use the graph api to check whether they like your app page. As far as I can tell this is the best current solution - and seems to be the approach taken by mobile games.
That said, I haven't used Facebook SDK 3 yet, so there may be something in there that could help you.
It appears that Liking a page on behalf of a user is still impossible. I've glanced over the iOS SDK Reference, and it doesn't seem like there is a built in mechanism to like anything.
However, in reading one of the other posts you linked to, and remembering that Facebook opened up the Like open graph action so app developers could allow their users to like content generated by their application...I found this link about built-in-actions (likes).
According to that link, you can post Like actions to your users by POSTing to https://graph.facebook.com/<user_id>/og.likes with the POST params for object (the open graph object URL you want to like on behalf of the user in this case your page's url. eg. www.facebook.com/yourpage) and access_token (obviously, for your user).
I'm not totally convinced that will work; though it is conceivable. My second thought would be to create an Open Graph Object for your page, and have all your users like that. Though, that is a little less ideal, as it removes the possibility of people finding your Page while they're on Facebook and would require you to put a lot more effort into getting likes for the Page via your website, application, etc.
I hope that helps a bit, good luck.

Facebook Open Graph not showing on timeline

I'm using FB Open Graph in my application. It's not fully working. When I post a object it appears in the user's recent activity; however, it doesn't appear on their timeline. The metadata has no errors and I'm using the FBGraph gem but it also doesn't work when I do it using curl. Any advise to fix this?
Have you tried to use 'fb:explicitly_shared=true' in your URL. Refer: https://developers.facebook.com/docs/technical-guides/opengraph/explicit-sharing/
When you are in development mode, and your actions have not yet been approved by Facebook, the posted actions are only visible to you and to others with developer, admin or tester privileges for your FB app.
See: Facebook action submission
Also, open graph actions will no longer appear in users' news feeds or even the Ticker: http://developers.facebook.com/bugs/398546930211799/. So you shouldn't expect activities performed in your app to appear in users' timelines, unless these activities are tagged as 'explicitly shared', and even then there's no guarantee they'll show up.
Only direct, active shares are more or less guaranteed to show up in the Timeline.
Did you submit your action to get approved by facebook? If you did not do this, it will only work on your facebook account.
Also, are you sure you request the correct permission when the user authenticates, such as 'publish_stream'?

facebook app action in user timeline

i made a facebook app, i googled it many times but not place gave me an answer
all what i want is to post on the facebook app users timeline.
something like socialcam app, when user watch a video you will be able to read on that user timeline that he/she watched that video.
you can access my app from this link and i will appreciate if you can tell me how can i post in user timeline
http://apps.facebook.com/asmgxtestonetwo/?qtnid=20
You can use Open Graph Actions (there's a built-in action "watch") and post onto the timeline using Aggregations:
Open Graph Actions
How-To: Defining an Aggregation

Stealth Facebook Like Button

Is there a way to control whether or not the Facebook like button publishes the link like to the users Facebook wall? I want to allow the user to subscribe to updates for one some of my pages, without telling the world that they are interested in that content.
No, it is up to the user to decide if they want to publish those stories or not.