gpt4 book ai didi

javascript - 使用 fb.ui 时如何检测用户取消的共享

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:56 25 4
gpt4 key购买 nike

我正在使用通过 here 提供的文档使用以下代码。共享对话框正确出现。问题是我无法区分用户在对话框中执行的“取消”和“发布”操作。我想这将是响应的一部分。

FB.ui({
method: 'share',
href: 'https://developers.facebook.com/docs/',
}, function(response){
if (response && !response.error_code) {
console.log(response);
} else {
alert('Error while posting.');
}
});

编辑:控制台的输出不提供任何知道的方式

Cancel - Object {e2e: "{"submit_0":1401181811121}"} 
Post - Object {e2e: "{"submit_0":1401181815112}"}

最佳答案

我对此进行了测试,显然 response 对象中有一些信息可用于确定对话是否已取消。

代码

FB.ui({
method: 'share',
href: 'https://developers.facebook.com/docs/'
}, function(response){
if (response && !response.error_code) {
console.log("OK: "+JSON.stringify(response));
} else {
console.log("Not OK: "+JSON.stringify(response));
}
});

取消时的输出:

{error_code: 4201, error_message: "User+canceled+the+Dialog+flow", e2e: "{"submit_0":1401188820613}"} 

所以,我猜你可以像这样检查取消操作:

FB.ui({
method: 'share',
href: 'https://developers.facebook.com/docs/'
}, function(response){
if (response && !response.error_code) {
console.log("OK: "+JSON.stringify(response));
} else if (response && response.error_code === 4201) { //Cancelled
console.log("User cancelled: "+decodeURIComponent(response.error_message));
} else {
console.log("Not OK: "+JSON.stringify(response));
}
});

不幸的是,FB.Events.subscribe() 没有为这个对话框的取消提供事件:https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/v2.0

关于javascript - 使用 fb.ui 时如何检测用户取消的共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23884573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com