我正在通过php创建一个Facebook应用程序。我使用以下代码为用户添加应用程序:
$config = array();
$config['appId'] = '532241193565136';
$config['secret'] = '19de17575ad3d245c8cc32f5b623e310';
$config['cookie'] = true;
$config['fileUpload'] = true; // optional
$fb = new Facebook($config);
$user = $fb->getUser();
$loginUrl = $fb->getLoginUrl(
array(
'scope' => 'publish_actions'
)
);
这应该允许用户通过应用程序发布到Facebook。我遇到的问题是权限弹出窗口不允许用户选择发布权限的类型 - 公共,自定义,仅限我等。我总是得到This does not let the app post to Facebook
帖子正被添加到Facebook页面,但显然他们对添加帖子的用户是私密的。
不确定我在这里遗失了什么......
更新
我尝试删除该应用程序并添加一个新的,但没有任何区别。
更新2:
我刚刚尝试使用网页管理员用户的应用程序... The following permissions have not been approved for use and are not being shown to people using your app: publish_actions
信息更新:
万一有人偶然发现这个问题。 Facebook's Review Guidelines表示“审核时间估算范围为7到14个工作日。”考虑这些延迟始终很重要:)
答案 0 :(得分:10)
你在这里什么都没有。从v2.0开始,除public_profile
,email
和user_friends
以外的权限需要提交审核才能使您的应用直播 ;在此之前,只有应用程序的测试人员/管理员/开发人员才能使用这些权限测试应用程序。
由于您是应用的管理员,您可以测试发布,但是 -
对于登录提交(在您的应用准备好上线之后),请参阅this link。
答案 1 :(得分:1)
如果您的提交被拒绝,您可以使用Feed对话框,请求对话框或发送对话框进行发布。您的应用无需申请publish_actions
权限即可。这是另一种选择。 (见publish_actions permission reference)。
function publish() {
FB.api('/<albumid>/photos', 'POST',
{"url": 'example.com/image.jpeg',
"caption": 'text'
},
function(response) {
if (!response || response.error) {
// Error trying post method - now trying a feed dialog
FB.ui({message: text,
method: 'feed',
link: 'example.com',
picture: 'example.com/image.jpeg',
caption: text,
}, function(response){
//successful feed dialog without publish_actions permission
});
} else {
//successful post with publish_actions permission
}
});
}