Stealth Facebook Like Button - facebook

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.

Related

How to verify if post is shared on facebook

I have an URL and it has many features. I want to disable one feature and enable it only if the app is shared on facebook. I have implemented share button, only problem is i will not know if the app is really shared on facebook or not. Users can click on share button and in the popup cancel it and the feature gets enabled as of now.
Kindly let me know if detection is possible via facebook javascript code.
Only incentivize a person to log into your app, enter a promotion on your app’s Page, or check-in at a place. Don’t incentivize other actions.
Source: https://developers.facebook.com/policy/
Share Gating is not allowed, users MUST share/like/comment something only because they really want to, you are not allowed to reward them in any way or gate content behind those actions.
Afaik the only way to implement this is to authorize the user with publish_actions, in that case you will get the post id in the callback. But you will never get publish_actions approved for something that is not allowed, obviously.

Share on Facebook asynchronously

I know it is possible to share a content on Facebook using a URL format like this:
https://www.facebook.com/dialog/feed?%20app_id=145634995501895%20&display=popup&caption=An%20example%20caption%20&link=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fdialogs%2F%20&redirect_uri=https://developers.facebook.com/tools/explorer
But this opens a dialog and prompts user to share, so user need to click on "Share" button. Assuming user is already logged in with facebook (let's say on another tab of the browser) I need to enable the users to share content asynchronously without clicking that "Share" button on the facebook share dialog.
I can't figure out a way.
Users do not need to click the "Share" button on that dialog. In this way, as soon as a users clicks on a "Share This" button placed ON MY SITE, the content will be posted on users's fb wall.
Is that possible?
It is possible, but only with Facebook Authorization:
https://developers.facebook.com/docs/facebook-login/
The user has to authorize your app with the "publish_actions" permission, and you can post stuff on his wall with the PHP SDK:
https://github.com/facebook/facebook-php-sdk
Just keep in mind that the message always has to be 100% user generated. So, in order to share something like this, you would need to share without the "message" parameter, or you would have to include an input field where the user could set his own message.
Btw, for the functionality you described, there is a much better solution:
https://developers.facebook.com/docs/plugins/like-button/

FB Application post on user news feed as application

Not sure if this is possible (or if there is a similar way to do that):
I have an Facebook application that when a user installs it I want to generate news feeds to show to this user and only.
I would like that the news feed posts are personified by the application and not the user itself.
Is this possible?
If not, is there a way to achieve the same thing with a FB Page?
Thanks!
No, there's no way to write on a user's Timeline on behalf of an App or a Page, the posts will always be attributed to a user.
If you need to communicate directly with a user the best options are to either get their email address from the API or use Requests

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

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.

How can I check if the fb:like button is already pressed on my own page?

I have a website serving free mp3-downloads and I would like them to be only available for facebook fans of the fb-page of the website. The links are thus hidden unless the user is a fan.
I have reached partial functionality by subscribing to the 'edge.create' event, but this event is not fired when the like box is loaded and the page has already been liked.
I don't really know what the best way to do this is, or whether it's possible at all without user permission. Most information on facebook forums is horribly outdated and a lot of it is related to on-facebook facebook apps/tabs, which is not my case.
To clarify: my facebook like button is on my own domain, in my own code.
This is not possible without user permission. You need to ask the user for the user_likes permission as documented here.