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

Need to check if user selected only me to share [facebook api]

我想知道如何才能知道用户是否在他的 Feed 中分享了一个 link 并且只选择了我作为一个选项。我想知道这一点,因为如果用户将我的 link 分享给自己,那么我的网站将无法推广。

<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 中找到任何我可以知道用户是否选择自定义并将其设置为仅我的内容。

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