Facebook Feed对话框无法打开

时间:2012-10-10 00:00:34

标签: facebook facebook-graph-api facebook-javascript-sdk

我正在构建一个自定义多朋友选择器,以便根据本教程将帖子发送到Facebook上的朋友圈 https://developers.facebook.com/docs/guides/games/custom-muti-friend-selector/

我已经能够加载我的朋友列表并创建我要发布的人员的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开发工具中没有错误,但我确实在chrome中得到了“不安全的Javascript尝试访问框架...”错误。

为了理智,这里是我的图表init

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 
    });
};

另外我应该提一下应用程序处于沙盒模式。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您尝试执行的操作称为Send Dialog,因此您需要将方法从feed更改为send,并且该方法应该有效。

查看他们的文档以获取更多信息:https://developers.facebook.com/docs/reference/dialogs/send/