由于http://developers.facebook.com/docs/guides/canvas/,我知道如何在Facebook应用程序中发布状态更新,链接等的基础知识,但我无法弄清楚是否可以将帖子的可见性限制为授权帖子的用户的某些预设朋友列表(因为Facebook网站上的文档不是最好的)。
是否可以从我的应用程序中发布到用户的墙上,以便只有预先选择的朋友列表才能看到它?我正在模仿Google Plus的“圈子”功能,用户可以拥有各种朋友群,只发布到这些群组列表。
答案 0 :(得分:16)
这绝对是可能的。请阅读Post文档,尤其是privacy
参数:
包含
value
字段和可选friends
,networks
的对象,allow
和deny
字段。
value
字段可以指定以下字符串之一:EVERYONE
,ALL_FRIENDS
,NETWORKS_FRIENDS
,FRIENDS_OF_FRIENDS
,CUSTOM
。如果
friends
设置为value
,则必须指定CUSTOM
字段 包含以下字符串之一:EVERYONE
,NETWORKS_FRIENDS
(当 网络和朋友可以看到该对象,FRIENDS_OF_FRIENDS
,ALL_FRIENDS
,SOME_FRIENDS
,SELF
或NO_FRIENDS
(当对象可以 仅由网络看到。)
networks
字段可能包含以逗号分隔的网络ID列表 可以看到对象,或者1可以看到用户的所有网络。当
allow
值设置为时,必须指定friends
字段SOME_FRIENDS
并且必须指定以逗号分隔的用户ID和列表 朋友列表ID'可以“看到帖子。如果
deny
字段设置为friends
字段,则可以指定SOME_FRIENDS
并且必须指定以逗号分隔的用户ID和列表 朋友列表ID'无法'看到帖子。注意:此隐私设置仅适用于当前或的帖子 指定用户自己的Wall。 Facebook忽略了针对此目标的此设置 墙上的帖子(当用户在朋友的墙上写字时,Page, 事件,组连接到用户)。与行为一致 Facebook,所有目标帖子都可以被任何可以看到的人看到 目标的墙。
隐私政策:任何非默认隐私设置都必须是故意的 由用户选择
使用PHP-SDK的一个小例子:
<?php
require '../src/311/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET',
));
$user = $facebook->getUser();
if ($user) {
try {
$privacy = array(
'value' => 'CUSTOM',
'friends' => 'SOME_FRIENDS',
'allow' => 'XXXXXXX,YYYYYYY' // Change this to your friends ids
);
$params = array();
$params['privacy'] = json_encode($privacy);
$params['message'] = "Special for TWO friends";
$post_id = $facebook->api('/me/feed', 'POST', $params);
var_dump($post_id);
} catch (FacebookApiException $e) {
print_r($e);
$user = null;
}
}
?>
我在这里做了什么:
publish_stream
权限)请注意,您在此处有很多选项,您可以拒绝特定用户,允许网络,允许好友列表...这取决于您自定义value
,friends
,{ {1}},allow
和deny
字段。
答案 1 :(得分:0)
ifaours回答非常好。一个“问题”是Facebook通常鼓励用户通过显示帖子对话框让用户选择何时在他们或其他墙上发布。
如果您使用的是Javascript API,则可以将FB.ui方法与feed参数一起使用,例如此链接http://developers.facebook.com/docs/reference/javascript/FB.ui/
如果您不担心遵循建议的标准或有其他原因,例如您不希望用户采取太多行动,我建议您尽量回答ifaours:)
答案 2 :(得分:0)
不,这是不可能的。 Facebook Graph API会回复时收到错误消息,说明在其他用户的Feed上发布时无法设置隐私选项。
您可以使用有限的隐私发布到自己的Feed,如@ifaour描述该帖子是否属于秘密,并希望Facebook认为它与首页新闻源相关,但不会通过电子邮件生成通知。< / p>