Facebook PHP API - 帖子只显示给我,而不是公众

时间:2015-10-12 10:36:53

标签: php facebook facebook-graph-api

我使用最新版本的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();

2 个答案:

答案 0 :(得分:1)

一种解决方案是将应用公开。
默认情况下,我相信它处于开发模式。

为此,请按照以下步骤操作:
1.转到https://developers.facebook.com
2.从左侧边栏,选择" App Review"
3.设置"将您的应用公开?"到"是"

即使您未登录,您的应用程序发布的网页帖子也应该可用。

答案 1 :(得分:0)

你是Facebook app&页面管理员。这就是为什么您能够以页面形式发布的原因,但它仅用于测试目的,仅对其他用户隐藏。您必须申请许可(post_as_page)才能实现这一目标。