1

このチュートリアルhttps://developers.facebook.com/docs/guides/games/custom-muti-friend-selector/に基づいて、Facebookの友達の壁に投稿を送信するために、カスタムマルチフレンドセレクターを構築してい ます

友達のリストを読み込んで、投稿したい人の CSV リストを作成できましたが、フィード ダイアログを開く最後のステップが失敗し、その理由がわかりません。ダイアログは開きません。

これは私のsendRequest関数です

    var sendUIDs = '';
   $('.cbFriendId').each(function(index){
        if($(this).prop('checked') == true){
        var addId = $(this).attr('value');
        sendUIDs += addId + ',';
        }
    });
    console.log(sendUIDs);
    openSendDialog(sendUIDs);
    }


   function openSendDialog(sendUIDs){
   console.log('open send dialog');
   FB.ui({
       method: 'feed',
       to: sendUIDs,
       link: 'http://www.mydomain.com',
       display: 'iframe',
       message: 'Hello from My Domain',
       name: 'Click to view my app',
       caption: 'Hello my app'

   },
               function (response) {
                   if (response) {
                       alert('Post was published.');
                       console.log('Post was published.');
                   } else {
                       alert('Post was not published.');
                       console.log('Post was not published.');
                   }
               }
             );
 }

最後のコンソール ログ エントリは「送信ダイアログを開く」です。IE9 開発ツールではエラーは発生しませんが、クロムでは「安全でない Javascript がフレームにアクセスしようとしています ...」というエラーが発生します。

正気を保つために、ここに私のグラフの初期化を示します

window.fbAsyncInit = function () {
    FB.init({
        appId: '462750593765445', // App ID
        channelUrl: '//www.mydomain.com/channel.html', // Channel File
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true,  // parse XFBML
        frictionlessRequests: false 
    });
};

また、アプリがサンドボックス モードであることにも言及する必要があります。

助けてくれてありがとう

4

1 に答える 1

1

あなたがやろうとしているのは と呼ばれるので、メソッドを からにSend Dialog変更する必要があり、それは機能するはずです。feedsend

詳細については、ドキュメントをご覧ください: https://developers.facebook.com/docs/reference/dialogs/send/

于 2012-10-10T01:41:40.257 に答える