我使用最新版本的PHP SDK(第5版)创建了一个Facebook应用程序,该应用程序在运行时将帖子发布到我的Facebook页面。
这是有效的......但是这些帖子会以“私人”的形式进入页面,所以只有我在登录到我的个人脸书页面时才会看到这些帖子。公众看不到他们。
有谁知道为什么会这样?我是否正确地假设我需要将应用程序提交给Facebook进行审核'在它可以将公开帖子发送到我的页面之前?
以下是我的代码:
define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__.'/src/facebook-sdk-v5/');
require_once(__DIR__.'/src/facebook-sdk-v5/autoload.php');
//Set your Facebook API settings
$fb = new Facebook\Facebook([
'app_id' => 'apptoken',
'app_secret' => 'appsecrettoken',
'default_graph_version' => 'v2.2',
]);
//Post property to Facebook
$linkData = [
'link' => 'http://www.google.co.uk',
'message' => 'Test message'
];
try {
$response = $fb->post('/me/feed', $linkData, 'thepageaccesstokenhere');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: '.$e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: '.$e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
答案 0 :(得分:1)
一种解决方案是将应用公开。
默认情况下,我相信它处于开发模式。
为此,请按照以下步骤操作:
1.转到https://developers.facebook.com
2.从左侧边栏,选择" App Review"
3.设置"将您的应用公开?"到"是"
即使您未登录,您的应用程序发布的网页帖子也应该可用。
答案 1 :(得分:0)
你是Facebook app&页面管理员。这就是为什么您能够以页面形式发布的原因,但它仅用于测试目的,仅对其他用户隐藏。您必须申请许可(post_as_page)才能实现这一目标。