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>
任何帮助非常感谢。
答
看来我确实可能已经回答了我自己的问题 - 我已经删除了Sandbox,它似乎正在工作。尽管我偶然发现了这一点:沙盒模式 - 请注意,当您的应用处于沙盒模式时,您无法代表无法看到您的应用的用户拨打任何API调用。
_“难道这可能只是一个沙盒的东西?”_ - 你可以尝试通过简单地禁用沙箱模式来回答这些问题......? – CBroe
看来我确实可能已经回答了我自己的问题 - 我已经删除了Sandbox,它似乎正在工作。任何人都知道这是否在任何地方的文档?尽管我偶然发现: 沙盒模式 - 请注意,当您的应用处于沙箱模式时,您无法代表无法看到您的应用的用户调用任何API调用。 – aaronl
@aaronl这是沙箱的用途,现在只需添加相同的答案和**接受**。在发布问题之前做一点研究。另外至于文档看[这里](http://developers.facebook.com/docs/ApplicationSecurity/) –