需要检查用户是否只选择我分享[facebook api]

时间:2015-04-21 07:35:34

标签: javascript jquery facebook facebook-javascript-sdk

我想弄明白如何才能知道用户是否共享指向其Feed的链接,只选择我作为选项。我想知道这一点,因为如果用户分享我自己的链接,那么我的网站推广就不可能。

<div id="fb-share">Share</div>
<div class="social-share-wrap"></div>
jQuery('#fb-share').on('click', function() {
        checkLoginState();
    });

    function statusChangeCallback(response) {
        console.log(response);
        if (response.status === 'connected') {
            shareUrl();
        } else if (response.status === 'not_authorized') {
            checkLoginState();
        } else {
            checkLoginState();
        }
    };

    function checkLoginState() {
        FB.login(function (response) {
            console.log(response);
            statusChangeCallback(response);
        }, {scope: 'email'});
    };

function shareUrl() {
        FB.ui({
            method: 'feed',
            link: 'http://www.example.com',
        }, function(response) {
            if (response && response.post_id) {
                FB.api('/me', function (response) {
                    jQuery.post('test.php',{name: response.name, email: response.email}).done(function(data) {
                        jQuery('.social-share-wrap').html(data);
                        jQuery.fancybox({
                            href: '#social-share',
                            centerOnScroll: true,
                            hideOnOverlayClick: false
                        });
                        return false;
                    });
                });
            } else {
                console.log('cancelled by user');
            }
        });
    };

在上面的代码中,我正在做的是,当用户点击共享div时,用户获得登录弹出窗口,然后用户获得权限弹出窗口,然后如果用户成功共享其信息,则会立即显示共享iframe发布到test.php,如果用户取消它,则登录到控制台。如果用户选择自定义并将其设置为仅我,我在api中找不到任何可以知道的内容。

1 个答案:

答案 0 :(得分:1)

您无法检查权限设置,这完全取决于用户,并且无法检测他选择的是哪一个。毕竟,您不能根据platform policy激励分享,所以知道它并不是真的相关。