-1

使用 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 用户无法查看

4

3 回答 3

0

我发现了问题所在,我在沙盒模式下使用 facebook 应用程序...... :(。一旦我改变它就开始完美运行

于 2013-07-13T20:00:44.290 回答
0

还要检查您的应用程序的设置 - 我认为这是“应用程序和帖子的可见性”设置默认为“朋友”而不是“公共”。也许这样就可以了?

于 2013-05-17T13:28:59.833 回答
0

显然,尽管 API 文档说了什么,隐私设置是“privacy_type”,而不是“privacy”。我认为我在这里发现了这一点,但关闭了标签,所以我无法立即分享链接。

于 2013-05-09T19:38:04.370 回答