首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查用户是否使用FB.ui在共享对话框中向Facebook发布(或取消)共享

检查用户是否使用FB.ui在共享对话框中向Facebook发布(或取消)共享
EN

Stack Overflow用户
提问于 2014-10-16 17:32:50
回答 2查看 4.7K关注 0票数 4

我正在使用一个共享对话框,我希望在用户向他/她的时间线发布某些内容之后发生一些事情。我现在用的是:

代码语言:javascript
复制
function shareToFB(myName, myLink) {
    $('.overlay-bg').hide();
    FB.ui({
        method: 'share',
        href: myLink,
        name: myName
    }, function(response) {
        if (response && !response.error_code) {
            alert("Something");
        } else {
            alert("Error");
        }
    }
    );
}

但这会导致“某些东西”出现,即使当用户取消张贴。如果用户在不需要任何权限的情况下将消息发布到他/她的时间线上,我是否可以找到该消息。如果这要求我使用不同的共享方法(比如提要对话框),我不会介意。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-05 10:54:37

使用馈电对话代替。

尽管它的UI很难看,但是通过Feed成功的共享将返回一个像{post_id: "10206702999763274_10206703017843726"}这样的响应对象,不管用户对你的Facebook应用程序是否进行身份验证,而按cancel键将返回一个null,关闭弹出窗口将返回undefined

您可以通过使用普通的Facebook用户配置文件设置并尝试从允许的列表中删除应用程序来测试这种行为。

这与共享对话框形成了鲜明的对比,如果您的应用程序还没有经过用户的身份验证,那么它将返回一个空的响应对象{},而不管它是否成功地共享。

此外,如果您使用的是直接url重定向方法,而不是js,那么当用户在共享页面上按下cancel时,您将收到附加到重定向目标的GET参数error_codeerror_message

从2015年12月开始,=>使用Feed或共享对话框访问响应中的post ID。要做到这一点,用户必须登录到您的应用程序并授予它publish_actions。https://developers.facebook.com/docs/sharing/reference/share-dialog#response

注意:在撰写本文时(API v2.3),这是正确的。然而,由于Facebook因破坏API行为而臭名昭著,所以您应该先自己测试它。

票数 4
EN

Stack Overflow用户

发布于 2014-10-16 17:45:24

根据文档,响应是发布条目的object_id,只有在用户授权应用程序时才能填写。也就是说,如果用户没有得到授权,您就无法检测用户是否真的发布了什么。

来源:https://developers.facebook.com/docs/sharing/reference/share-dialog

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26410492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档