Facebook分享订阅源对话框仅适用于管理员

问题描述:

创建Facebook应用程序后,将其保留在沙盒中并尝试使用订阅对话框设置共享按钮后,似乎只有添加为管理员才能使用共享的FB帐户按钮 - 所有其他非管理员都能够看到“Feed对话框”弹出窗口,但会看到“发生错误,请重试。”Facebook分享订阅源对话框仅适用于管理员

我认为这是一个浏览器的具体问题,但似乎取决于您的FB帐户与应用程序的关系。非Admin的用户一直在测试该应用程序,并且根本无法共享。

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

如果您是页面的管理员,我觉得它非常出色。有可能这只是一个沙盒的东西?

我也检查过,尝试使用Share(分享)按钮作为页面登录时,与你自己相反是问题,而不是(如果有人想知道)。

我相信我使用的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> 

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> 

任何帮助非常感谢。

+2

_“难道这可能只是一个沙盒的东西?”_ - 你可以尝试通过简单地禁用沙箱模式来回答这些问题......? – CBroe

+0

看来我确实可能已经回答了我自己的问题 - 我已经删除了Sandbox,它似乎正在工作。任何人都知道这是否在任何地方的文档?尽管我偶然发现: 沙盒模式 - 请注意,当您的应用处于沙箱模式时,您无法代表无法看到您的应用的用户调用任何API调用。 – aaronl

+0

@aaronl这是沙箱的用途,现在只需添加相同的答案和**接受**。在发布问题之前做一点研究。另外至于文档看[这里](http://developers.facebook.com/docs/ApplicationSecurity/) –

看来我确实可能已经回答了我自己的问题 - 我已经删除了Sandbox,它似乎正在工作。尽管我偶然发现了这一点:沙盒模式 - 请注意,当您的应用处于沙盒模式时,您无法代表无法看到您的应用的用户拨打任何API调用。