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

ログインしたユーザーは必要ありません。display: "iframe" を削除するだけでうまくいきました。引き続き iframe に表示されますが、エラーは発生しません。理由を聞かないでください。1:1 の同じアプリ設定で、私の別のアプリの表示値で機能します...少なくとも、アプリリクエスト ダイアログで機能したのは、ここでも同じかもしれません。

「stream.publish」の代わりに「feed」を使用します。

ここを参照してください: https://developers.facebook.com/docs/reference/dialogs/feed/

また、同じページの競合で Like ボタンと 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 に答える