我一直在遇到facebook流发布的间歇性问题。调用流发布时,模态占位符会弹出“正在加载...”,但通常不会加载。由于问题来来去去,我一直认为facebook本身就是问题所在。如果传入无效参数并且我没有看到任何失败的请求或javascript错误,则没有预期的模态错误消息。关于造成这种情况的原因,我真的没有任何线索,我们只知道这会导致很多百分比的遗失。
我的同事建议chrome比其他浏览器更失败,但我在每个浏览器环境中都看到过这种情况。
有问题的代码在FBML画布上的iframe中,我正在使用当前和最新的JS SDK。以下JS库正在使用中:
这是我发布应用程序生成的所有流的包装器:
function streamPublish(name, caption, description, icon, href, actiontext, message, recipient, properties) {
var attachment = {
'media':[{'type':'image','src':icon,'href': href}],
'name': name,
'caption': caption,
'description': description,
'href': href
};
if (properties !== undefined && properties !== ''){
attachment.properties = properties;
}
if (recipient === undefined || recipient === ''){
recipient = getUserId();
}
FB.ui({
method: 'stream.publish',
'message': message,
attachment: attachment,
action_links: [{'text':actiontext, 'href':href}],
target_id:recipient
},
function(response) {
if (response && response.post_id) {
publishSuccess(response);
} else {
publishFail();
}
});
}
这一直在伤害应用程序一段时间,任何帮助线索都会非常感激。
答案 0 :(得分:1)
Facebook知道这个错误。它有2500票 在他们的bug追踪器中。
真棒。
http://bugs.developers.facebook.net/show_bug.cgi?id=10180
http://forum.developers.facebook.net/viewtopic.php?pid=262043#p262043
http://forum.developers.facebook.net/viewtopic.php?id=60357
http://forum.developers.facebook.net/viewtopic.php?id=60382
http://forum.developers.facebook.net/viewtopic.php?id=57404
答案 1 :(得分:0)
我怀疑问题可能出在客户端和服务器之间的身份验证期间,因为除了第一个之外,每个其他的stream.publish调用都有效。
尝试在FB.init中将'cookie'设置为false ...我推断可能会强制init实际联系服务器
FB.init({
...
cookie: false,
...
});
尚未对其进行彻底测试,但似乎它可能正常工作。
更新:不幸的是,它似乎无法解决所有情况