繁体   English   中英

在用户墙上发帖时设置自定义隐私 - 将帖子可见性限制为特定用户

[英]Setting Custom Privacy When Posting On The User's Wall - Limit Post Visibility To Specific Users

由于http://developers.Z26CAE7718C32180A7A0F8E19D6D6D40A59Z.com/can'docs/itcan'docs/itcan'tguides可以将帖子的可见性限制为授权该帖子的用户的某个预设朋友列表(因为 Facebook 网站上的文档并不是最好的)。

是否可以从我的应用程序中发布到用户的墙上,以便仅对预先选择的朋友列表可见? 我正在模仿 Google Plus 的“圈子”功能的功能,用户可以拥有不同的朋友组并只发布到这些组列表。

这绝对是可能的。 请阅读Post文档,尤其是privacy参数:

object 包含value字段和可选的friendsnetworksallowdeny字段。

value字段可以指定以下字符串之一: EVERYONEALL_FRIENDSNETWORKS_FRIENDSFRIENDS_OF_FRIENDSCUSTOM

The friends field must be specified if value is set to CUSTOM and contain one of the following strings: EVERYONE , NETWORKS_FRIENDS (when the object can be seen by networks and friends), FRIENDS_OF_FRIENDS , ALL_FRIENDS , SOME_FRIENDS , SELF , or NO_FRIENDS (when the object只能通过网络看到)。

networks字段可能包含以逗号分隔的网络 ID 列表,可以看到 object,或 1 表示用户的所有网络。

friends值设置为SOME_FRIENDS时,必须指定allow字段,并且必须指定“可以”查看帖子的用户 ID 和朋友列表 ID 的逗号分隔列表。

如果friends字段设置为SOME_FRIENDS并且必须指定逗号分隔的用户 ID 列表和“无法”看到帖子的朋友列表 ID,则可以指定deny字段。

注意:此隐私设置仅适用于当前或指定用户自己的墙的帖子。 Facebook 忽略针对目标墙帖子的此设置(当用户在与用户连接的朋友、页面、事件、组的墙上写字时)。 与 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;
  }
}
?>

我在这里做了什么:

  1. 创建了 4 个测试帐户
  2. 切换到其中之一“芭芭拉”
  3. 进入我的应用程序并登录(具有publish_stream权限)
  4. 运行上面的代码和结果:在此处输入图像描述
  5. 我指定了两个朋友(Ruth 和 Linda)
  6. 现在我们切换到第四位朋友(多萝西)并检查芭芭拉的墙,然后……确实看不到帖子。 :-)

请注意,您在这里有很多选项,您可以拒绝特定用户、允许网络、允许好友列表......这完全取决于您自定义valuefriendsallowdenynetworks字段。

ifaour 的回答非常好。 一个“问题”是 Facebook 通常鼓励您通过显示帖子对话框来让用户选择何时在他们或其他墙上发帖。

If you are using the Javascript API you can use the FB.ui method with a feed parameter like in this link http://developers.facebook.com/docs/reference/javascript/FB.ui/

如果您不担心遵循推荐的标准或有其他原因,例如您不希望用户采取太多操作,我建议您使用 ifaours 回答 go :)

不,这是不可能的。 Facebook 图表 API 将回复一条错误消息,指出您在其他用户的订阅源上发帖时无法设置隐私选项。

您可以使用有限的隐私发布到您自己的提要,例如 @ifaour 描述的帖子是否是秘密的,并希望 Facebook 会认为它与首页新闻提要相关,但它不会生成 email 的通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM