5

我已经设置了一个由 Jquery 触发的共享弹出窗口。它有效,但我想使用响应值来触发成功的 AJAX 调用,而 Facebook 只返回一个空数组。

这是javascript

    $("#fb-request").click(function () {
        FB.ui({
            方法:“分享”,
            name: '查看网站',
            href: 'URL_TO_SHARE',
        },
        功能(响应){
            if (response && !response.error_code) {
              控制台日志(响应);// 返回:[]
            }
        });
    });

因此,我无法区分发帖人和使用取消按钮的人。我在这里错过了什么吗?或者在 Facebook 应用程序上需要设置什么?

谢谢,

4

4 回答 4

4

文档

响应数据

参数 描述 object_id 仅当用户使用 Facebook 登录您的应用并已授予 publish_actions 时可用。如果存在,这是已发布的 Open Graph 故事的 ID。

于 2014-10-01T13:41:20.233 回答
2

如果用户取消共享对话框,则响应未定义,因此:

$("#fb-request").click(function () {
    FB.ui({
        method: 'share',
        name: 'Check out website',
        href: 'URL_TO_SHARE',
    },
    function (response) {
        if (response && !response.error_code) {
            if (typeof response != 'undefined'){
                //shered
            }
        }
    });
});
于 2017-06-05T08:41:09.820 回答
0

这对我有用。

FB.ui({
    method: 'share',
    display: 'popup',
    href: url,
}, function(response){
    if (typeof response != 'undefined'){
        alert("shared");
    }else{
        alert("no shared");
    }
});
于 2017-08-01T22:55:11.637 回答
0

首先检查您的用户是否已连接。

FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
    FB.ui(
        {
            method: 'feed',
            link: 'your_url',
            mobile_iframe: true
        },
        function(response){
        });
}
else {
    FB.login(function(response){
        FB.ui(
        {
            method: 'feed',
            link: 'your_url',
            mobile_iframe: true
        },
        function(response){
        });
    });
}

});

于 2017-07-14T17:29:32.630 回答