我已经设置了由Jquery触发的共享弹出窗口。它有效,但我想使用响应值来成功触发AJAX调用,而Facebook只返回一个空数组。
这是javascript
$("#fb-request").click(function () { FB.ui({ method: 'share', name: 'Check out website', href: 'URL_TO_SHARE', }, function (response) { if (response && !response.error_code) { console.log(response); // Returns: [] } }); });
因此,我无法区分发帖人和使用取消按钮的人。我在这里错过了什么吗? 或者在Facebook应用程序上有什么设置?
谢谢,
答案 0 :(得分:3)
响应数据
参数说明 OBJECT_ID 仅在用户使用Facebook登录您的应用程序并且已授予publish_actions时才可用。如果存在,则这是已发布的Open Graph故事的ID。
答案 1 :(得分: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
}
}
});
});
答案 2 :(得分: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){
});
});
}
});
答案 3 :(得分:0)
这对我有用。
FB.ui({
method: 'share',
display: 'popup',
href: url,
}, function(response){
if (typeof response != 'undefined'){
alert("shared");
}else{
alert("no shared");
}
});