I'm working on facebook fan Page. I want to trigger background action if Page has been liked by any user. I'm using JavaScript SDK from SDKs & Tools of facebook development. Please let me know how can I Do this?
Asked
Active
Viewed 1,448 times
0
-
1Closing this post as I got my answer on this thread http://stackoverflow.com/questions/5093398/check-if-user-liked-page – pinaldesai Jan 25 '12 at 07:53
2 Answers
1
Take a look at FB.Event.subscribe.
Here's your exact example:
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
}
);
EDIT:
If strictly talk about fan page - your fan page like is done by reloading the page. Then you can use PHP SDK (for example) to determine if current user liked the page.
PHP example to do it is:
$data = $facebook->getSignedRequest();
$doesLikePage = $data && isset($data['page']) && $data['page']['liked'];
Then you can either trigger your action immediately or generate JavaScript which will trigger background action on page load.

zysoft
- 2,268
- 1
- 16
- 21
0
Exact duplicate of this question: How to check if a user likes my Facebook Page or URL using Facebook's API
And here is the answer: https://stackoverflow.com/a/5100287/728863 From the answer:
function parsePageSignedRequest() {
if (isset($_REQUEST['signed_request'])) {
$encoded_sig = null;
$payload = null;
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
return $data;
}
return false;
}
if($signed_request = parsePageSignedRequest()) {
if($signed_request->page->liked) {
echo "This content is for Fans only!";
} else {
echo "Please click on the Like button to view this tab!";
}
}