我无法弄清楚为什么facebook发布不在这个网站上工作
我得到了
API错误代码:102 API错误说明:会话密钥无效或不再有效 错误消息:必须使用会话密钥
调用iframe对话框将stream.publish方法称为iframe
<script type="text/javascript">
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol
+ '//connect.facebook.net/fr_FR/all.js';
document.getElementById('fb-root').appendChild(e);
}());
window.fbAsyncInit = function()
{
FB.init({ appId: '303380259758621',
status: true,
channelUrl: 'http://www.crabegame.com/channel.php',
cookie: true,
xfbml: true,
oauth: true});
}
function PublishStream(score)
{
FB.ui(
{
method: 'stream.publish',
display : 'iframe',
message : '',
attachment:
{
name: 'CrabeGame',
caption: 'Essaye de battre mon score sur le Crabe Game !',
description: "J'ai réalisé un score de " + score + "points au Crabe Game !",
href: 'http://www.crabegame.com',
media:
[
{
type: 'image',
src: 'http://crabegame.com/media/crabe_fb.png',
href: 'http://www.crabegame.com'
}
]
},
action_links:
[
{
text: 'Play Crabe Game',
href: 'http://www.crabe-game.com'
}
],
user_message_prompt: 'Publier sur votre mur'
},
function (response)
{
if (response && response.post_id)
{
}
}
);
}
</script>
答案 0 :(得分:0)
这意味着您没有当前用户。试试这个以调用PublishStream:
FB.login(function(response) {
if (response.authResponse) {
PublishStream();
} else {
console.log('Not logged in');
}
});
答案 1 :(得分:0)
您不需要登录用户,只需删除display:“iframe”,为我工作。它仍将显示在iframe中,但没有错误。不要问我为什么,用1:1相同的应用程序设置它与我的另一个应用程序中的显示值一起工作...至少对于我的apprequest对话框来说,这可能是相同的。
我会使用“feed”而不是“stream.publish”。
见这里:https://developers.facebook.com/docs/reference/dialogs/feed/
还:Using Like Button and FB.ui (apprequests) On the Same Page Conflicts