1

我正在构建一个自定义多朋友选择器,以便根据本教程将帖子发送到 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 尝试访问框架 ...”错误。

只是为了理智起见,这是我的图表初始化

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,所以你需要将你的方法从feedto更改为send它应该可以工作。

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

于 2012-10-10T01:41:40.257 回答