Check if someone likes page before submit on own website

£可爱£侵袭症+ 提交于 2019-12-01 13:30:21

问题


I have a own page on my server where people can download a track of my own.

My idea is to put a like button on that page to my Facebook page. People must first hit the like button, and after that they can download the track. Probably this must fix with a form with name, e-mail and the like button that they have to click! After submit, there must be something that will check if the user realy hit the like button before they get the page with the special content (download link)

So the idea is if it is possible that there's a check that the page is liked before they can submit and get the download button!

Can someone tell me if this is possible and can someone help me with the code? I have no other Facebook social plugins! I only want to use a like button!


回答1:


You can check if someone clicks the like button using the Javascript SDK

You can either use the social plugin or the XFBML button, Implementing the XFBML button and the Javascript SDK you can find here: https://developers.facebook.com/docs/reference/javascript/

Then you can create an event listener that listens if an user clicks the like button:

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
    } 
);

https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

Using this you can store if someone clicked the like button then save that to either your database or in a session and let the user download their track.

Your code would be something like this

<div id="fb-root"></div>
<div class="fb-like" data-href="http://www.stackoverflow.com" data-send="false" data-width="450" data-show-faces="true"></div>
<script>
    window.fbAsyncInit = function() {
        FB.init({
            appId      : 'YOUR_APP_ID', // App ID
            channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
            status     : true, // check login status
            cookie     : true, // enable cookies to allow the server to access the session
            xfbml      : true  // parse XFBML
        });

        FB.Event.subscribe('edge.create',
            function(response) {
                alert('You liked the URL: ' + response);
            } 
        );
    };

// Load the SDK Asynchronously
(function(d){
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName('head')[0].appendChild(js);
}(document));




回答2:


It is possible to do what you're asking. You may find this SO question and answer useful:

How to check if a user likes my Facebook Page or URL using Facebook's API



来源:https://stackoverflow.com/questions/8711612/check-if-someone-likes-page-before-submit-on-own-website

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!