Facebook共享提要对话框仅适用于管理员

Facebook共享提要对话框仅适用于管理员,facebook,dialog,share,feed,Facebook,Dialog,Share,Feed,创建Facebook应用程序后,将其留在沙箱中,并尝试使用提要对话框设置共享按钮,似乎只有我作为管理员添加的FB帐户才能使用共享按钮-所有其他非管理员都可以看到提要对话框弹出窗口,但随后会看到“出现错误,请重试” 我认为这是一个特定于浏览器的问题,但似乎取决于你的FB帐户与应用程序的关系。一个非管理员的人一直在测试应用程序,根本无法共享 我正在使用Wordpress作为此应用程序的CMS后端。据我所知,应用程序ID和应用程序URL都是正确的,唯一的区别是,在我的开发环境中,一旦一切正常,它将被移

创建Facebook应用程序后,将其留在沙箱中,并尝试使用提要对话框设置共享按钮,似乎只有我作为管理员添加的FB帐户才能使用共享按钮-所有其他非管理员都可以看到提要对话框弹出窗口,但随后会看到“出现错误,请重试”

我认为这是一个特定于浏览器的问题,但似乎取决于你的FB帐户与应用程序的关系。一个非管理员的人一直在测试应用程序,根本无法共享

我正在使用Wordpress作为此应用程序的CMS后端。据我所知,应用程序ID和应用程序URL都是正确的,唯一的区别是,在我的开发环境中,一旦一切正常,它将被移动到客户端生产FB页面

我觉得很奇怪,如果你是这个页面的管理员,它的效果会非常好。这可能仅仅是一个沙箱吗

我还检查了当作为一个页面而不是你自己登录时,尝试使用共享按钮是问题所在,而事实并非如此(如果有人想知道的话)

我相信我正确地使用了SDK/API和提要对话框,但我的代码仅供参考:

header.php

<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
  // Called when FB SDK has been loaded
  window.fbAsyncInit = function () {   
    // Auto resize FB Canvas
    FB.Canvas.setSize({height:600});
    setTimeout("FB.Canvas.setAutoGrow()",500);
  };

  // Load the FB SDK Asynchronously
  (function (d) {
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName('head')[0].appendChild(js);
  } (document));
</script>

//加载FB SDK时调用
window.fbAsyninit=函数(){
//自动调整FB画布的大小
FB.Canvas.setSize({height:600});
setTimeout(“FB.Canvas.setAutoGrow()”,500);
};
//异步加载FB SDK
(职能(d){
var js,id='facebook jssdk';if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
d、 getElementsByTagName('head')[0].appendChild(js);
}(文件);
footer.php

<script type="text/javascript">
    FB.init({
        appId: '515010801895800',
        status: true,
        cookie: true,
        xfbml: true
    });

    function postToFeed() {
        var obj = {
            method: 'feed',
            display: 'popup',
            picture: '<?php echo get_template_directory_uri(); ?>/images/app/app-icon-75.png',
            name: 'Suncorp Brighter Futures Heroes',
            caption: '',
            link: 'https://www.facebook.com/aaronlepikdev/app_515010801895800',
            description: 'Suncorp Brighter Futures Heroes is a place where our people come together to share their stories, raise money, volunteer and apply for grants for causes close to their hearts.',
            actions: {name: 'Suncorp Brighter Futures Heroes', link: 'https://www.facebook.com/aaronlepikdev/app_515010801895800'}
        };

        function callback(response) {
            document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
    }       
</script>

FB.init({
appId:'515010801895800',
状态:正确,
曲奇:是的,
xfbml:对
});
函数postToFeed(){
var obj={
方法:“提要”,
显示:“弹出窗口”,
图片:'/images/app/app-icon-75.png',
名称:“Suncorp光明未来英雄”,
标题:'',
链接:'https://www.facebook.com/aaronlepikdev/app_515010801895800',
描述:“Suncorp Brighter Futures Heroes是一个让我们的员工聚在一起分享他们的故事、筹集资金、志愿服务和申请赠款的地方,这些活动都是为了他们心中的事业。”,
操作:{name:'Suncorp'未来英雄',链接:'https://www.facebook.com/aaronlepikdev/app_515010801895800'}
};
函数回调(响应){
document.getElementById('msg').innerHTML=“Post ID:”+response['Post_ID'];
}
FB.ui(obj,回调);
}       

非常感谢您的任何帮助。

我似乎确实回答了我自己的问题-我已经移除了沙箱,它似乎正在工作。但我确实偶然发现了这一点:沙盒模式-请注意,当你的应用程序处于沙盒模式时,你不能代表看不到你的应用程序的用户调用任何API调用。

“这可能只是一个沙盒吗?”–您是否可以通过简单地禁用沙盒模式来尝试自己回答此类问题…?似乎我确实可能已经回答了我自己的问题-我已经移除了沙盒,它似乎正在工作。有人知道文件里有没有这个吗?不过,我确实偶然发现了这个问题:沙盒模式-请注意,当你的应用程序处于沙盒模式时,你不能代表看不到你的应用程序的用户调用任何API调用。@aaronl这就是沙盒的用途,现在只需将其添加为答案并接受即可。在发布问题之前做一些调查。关于文档,请看+1:您的问题很有帮助。我只是通过尝试添加共享链接来关注facebook的文档,甚至还没有听说过沙盒模式。谢谢你的发帖和回复。