php:使用FB apis在Facebook页面上发帖仅对管理员可见

时间:2013-09-16 06:27:23

标签: php facebook

我正在尝试使用FB apis发布到FB页面。帖子很好但是只有管理员用户才能看到它不是每个喜欢这个页面的人。我尝试用EVERYONE&更改隐私设置。 ALL_FRIENDS但它没有多大帮助。下面是我的代码片段。

真的很感激任何帮助。

//--------code snippet------------

require '../src/facebook.php';


$facebook = new Facebook(array(
            'appId'  => 'XXXXXXXXXXXX',
            'secret' => 'YYYYYYYYYYYYYYYYYYY',
            ));

// Get User ID
$user = $facebook->getUser();

if ($user) 
{
    try {
        $page_id = 'ZZZZZZZZZZZ';
        $page_info = $facebook->api("/$page_id?fields=access_token");
        if( !empty($page_info['access_token']) ) 
        {
            $args = array(
                'access_token'  => $page_info['access_token'],
                'message'       => "My Msgs!"
            );
            $post_id = $facebook->api("/$page_id/feed","post",$args);
        } 
        else 
        {
            $permissions = $facebook->api("/me/permissions");
            if( !array_key_exists('publish_stream', $permissions['data'][0]) || 
                !array_key_exists('manage_pages', $permissions['data'][0])) 
            {
                $loginUrl = $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages"));
                echo '<a href="'.$loginUrl.'">Login1 with FB</a>';
            }
        }
    } catch (FacebookApiException $e) 
{
    echo "error ", $e;
}
}

if ($user)
{
    $logoutUrl = $facebook->getLogoutUrl();
} else 
{
    $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream'));
    echo '<a href="'.$loginUrl.'">Login2 with FB</a>';
}

1 个答案:

答案 0 :(得分:0)

您的应用似乎已设置为开发模式,您需要在https://developers.facebook.com - &gt;下将其切换为公开。我的应用 - &gt;选择您的应用 - &gt;现状&amp;评论 - &gt;您想让这个应用程序及其所有功能向公众开放吗? - &GT;切换到YES