我已经安装了一个facebook应用程序,可以将图像/视频发布到一个特定的粉丝页面。它请求"publish_actions"answers"manage_pages"权限。它处于开发者模式,我无意将功能扩展到发布到这个单一的facebook页面之外。
代码工作正常,它发布到正确的页面,当登录到开发人员帐户/页面管理员(同一帐户)时,一切看起来都很好但其他脸书用户无法看到通过应用程序发布的帖子。我的印象是,像这样的内部应用程序不需要经过审查程序吗?
以下是张贴到页面的代码的快速精简版本:
FacebookSession::setDefaultApplication($settings['app_id'], $settings['secret']);
//This is user access_token not the pages.
$session = new FacebookSession( $settings['access_token'] );
$pageTokenResponse = (new FacebookRequest(
$session
, 'GET', '/' . $settings['page_id']
, array( 'fields' => 'access_token' )
))->execute()->getGraphObject(GraphPage::className());
//Retrieved Page Token
$pageToken = $pageTokenResponse->getProperty("access_token");
uploadUrlToFacebook($imgurl, $item->get_title(), $session, $pageToken, $settings['page_id']);
function uploadUrlToFacebook($url, $title, $session, $pageToken, $pageId){
$request = new FacebookRequest(
$session,
'POST',
"/$pageId/photos",
array (
'access_token' => $pageToken
,'url' => $url
,'message' => $title
)
);
$response = $request->execute();
}
我确信代码或我的应用程序设置中有一个愚蠢的错误,但为什么我可以看到帖子,而其他人却看不到?
事实证明,在我正确理解流程之前,我已经选择了一些项目进行审查,因此我最终处于无法使应用程序运行的状态,因为我有待定的审查项目。我从评论队列中删除了权限,使应用程序上线,一切都很好。
我认为在验证Fb应用程序时,您为发布操作提供了"只有我"的可见性。
转到https://www.facebook.com/settings?tab=applications
选择您的应用程序。然后检查这个。"应用程序可见性和发布受众"