【问题标题】:PHP-SDK publish link not available for publicPHP-SDK 发布链接不公开
【发布时间】:2013-04-29 10:01:02
【问题描述】:

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

【问题讨论】:

    标签: facebook-php-sdk publish public


    【解决方案1】:

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

    【讨论】:

    • 刚刚用privacy_type重新测试过,问题依旧,我猜是别的。 :(
    【解决方案2】:

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

    【讨论】:

    • 我认为您的意思是“默认活动隐私”,对吗?如果是这样,我已经在 Public 上有了。
    【解决方案3】:

    我发现问题出在哪里,我在沙盒模式下使用 facebook 应用程序... :(。一旦我改变它就可以正常工作了

    【讨论】:

    • 提供一些代码来说明你在哪里犯了错误,这样其他人就不会重复了。
    猜你喜欢
    • 2013-10-13
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    相关资源
    最近更新 更多