PHP-SDK发布链接不适用于公共

时间:2013-04-29 10:01:03

标签: facebook-php-sdk publish public

使用php sdk发布新链接时,该链接仅供登录用户使用,不会公开发布。

$facebook = new Facebook(array(
'appId' => $appId,
'secret' => $secret,
'cookie' => true
));
$user = $facebook->getUser(); // Get the UID of the connected user, or 0 if the Facebook user is not connected.

if($user == 0) {
setcookie('cod_eventos', $_POST['cod_eventos']);
$login_url = $facebook->getLoginUrl($params = array('scope' => "publish_stream"));
setcookie('userlogin', 1);
echo ("<script>window.open('".$login_url."')</script>");
} else {
$page_id = $page_id;
try {
$access_token = $facebook->getAccessToken(); 
$attachment2 = array(
'access_token' => $access_token 
);
$page = $facebook->api('/me/accounts', 'get', $attachment2);
} catch (FacebookApiException $e) {
echo 'Unable to get page access token';
}
$privacy = array(
'value' => 'EVERYONE',
);
$attachment = array(
'access_token' => $page['data'][0]['access_token'],
'name' => 'Test',
'link' => 'http://www.facebook.com/',
'description' =>'Facebook',
'privacy' => json_encode($privacy),
);
try {
$facebook->api('/' . $page_id . '/feed', 'POST', $attachment);
echo '<div class="gestor_ficheiros_tipo">Event publish Facebook</div>';
} 
catch (FacebookApiException $e)
{
echo '<div class="gestor_ficheiros_tipo">'.$e->getMessage().'</div>';
}

运行此内容后,内容即发布,但未注册的Facebook用户无法查看

3 个答案:

答案 0 :(得分:0)

显然,尽管API文档说的是,隐私设置是'privacy_type',而不是'隐私'。我发现在这里,我想,但关闭标签,所以我不能立即分享链接。

答案 1 :(得分:0)

检查您应用中的设置 - 我认为“应用和帖子的可见性”设置默认为“朋友”而不是“公开”。也许那会这么做?

答案 2 :(得分:0)

我发现问题是什么,我在沙盒模式下使用Facebook应用程序... :(。一旦我改变它开始正常工作