1

我不知道为什么 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>
4

2 回答 2

0

您不需要登录用户,只需删除显示:“iframe”,为我工作。它仍会显示在 iframe 中,但不会出现错误。不要问我为什么,使用 1:1 相同的应用程序设置,它与我的另一个应用程序中的显示值一起工作......至少这对我来说适用于 apprequest 对话框,在这里可能是一样的。

我会使用“feed”而不是“stream.publish”。

见这里:https ://developers.facebook.com/docs/reference/dialogs/feed/

另外:在同一页面上使用 Like Button 和 FB.ui (apprequests) 冲突

于 2012-10-11T09:50:19.437 回答
0

这意味着您没有当前用户。试试这个以调用 PublishStream:

     FB.login(function(response) {
         if (response.authResponse) {
             PublishStream();
         } else {
             console.log('Not logged in');
         }
      });
于 2012-09-07T16:39:26.450 回答