2010-08-25 88 views
12

我想在Facebook上自动发布Notes,并将它们定位到组中的单个成员。按目标我的意思是只有一个特定的Facebook用户应该能够阅读该笔记。在Facebook上发布Facebook图形API时指定隐私

有没有一种方法可以用图API来做到这一点?我在旧的REST API中看到steam.publish方法中有一个“隐私”参数(请参阅http://developers.facebook.com/docs/reference/rest/stream.publish)。图API中是否有等价物?

+0

我还打算知道答案。天哪,你在8月25日提出这个问题。 – Waseem 2010-10-07 12:48:37

+0

我在http://developers.facebook.com/docs/reference/api/post/链接中看到我们无法更改用户的隐私设置...... :( – HarshIT 2012-05-14 10:43:03

回答

0

是的,有:

http://developers.facebook.com/docs/reference/api/post

有一个域名为隐私,你可以修改。

希望帮助, -Roozbeh

+0

无法理解如何更改隐私该页面中的解释是:“任何非默认隐私设置都必须由用户有意选择,除非用户主动指定他们需要此非默认设置,否则您不能设置自定义隐私设置。” – HarshIT 2012-05-14 10:40:23

0

http://developers.facebook.com/docs/reference/api/post

没有告诉如何在不同的自定义选项,朋友正确的方式

指定隐私 ,NETWORK_FRIENDS

+0

你是对的,它说关于返回类型的对象,并且在它下面还提到我们不能改变用户的隐私策略。 – HarshIT 2012-05-14 10:38:53

0

如果你是从应用发布便签,您可以设置默认活动隐私,如下所示:

enter image description here

它可以在您对自己的应用程序进行身份验证时设置,也可以在:account settings - > applications中进行设置。

5

下面是答案。

只需在JSONObject格式的Bundle中包含“隐私”,包括值“SELF”,“ALL_FRIENDS”或“EVERYONE”。

这是使用android SDK 2.0,3.0现在可用,但使用图形api的方式是相同的,如果您遇到任何问题,留下评论:)。

public String PostWall(String Message,int Level){ 
    /*********************************************************** 
     * level 0 ==>only me 
     * level 1==>friend only 
     * level 2==>public 
     * level >2 ==>error 
    ***********************************************************/ 
    Bundle params = new Bundle(); 
    params.putString("message", Message); 
    JSONObject privacy = new JSONObject(); 
    try { 
     switch (Level){ 
      case 0: 
       privacy.put("value", "SELF"); 
       break; 
      case 1: 
       privacy.put("value", "ALL_FRIENDS"); 
       break; 
      case 2: 
       privacy.put("value", "EVERYONE"); 
       break; 
     } 
    } catch (JSONException e1) { 
    } 
    params.putString("privacy", privacy.toString()); 
    //Step 2 Request 
    String resp= ""; 
    try { 
     resp = fb.request("me/feed", params, "POST"); 
    } catch (FileNotFoundException e) { 
    } catch (MalformedURLException e) { 
    } catch (IOException e) { 
    } 
    try{ 
     resp = new JSONObject(resp).getString("id"); 
     if(enableLog){ 
      Log.d(LOGTAG,"*****POSTWALL END*****"); 
      Log.d(LOGTAG,"RETURN "+resp); 
     } 
     return resp; 
    }catch(JSONException e1){ 
    } 
} 
}; 
1

为PHP Facebook的API使用:

$privacy = array(
     'value' => 'SELF' //private 
    ); 

$publish = $facebook->post('/me/videos', 
     array('access_token' => $page_token, 
     'title'=> $title, 
     'privacy'=> $privacy, 
     'source' => $facebook->videoToUpload($fn), 
     'description' => $desc 
     )); 

含有value字段和可选friendsnetworks对象, allowdeny字段。

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

如果value设置为CUSTOM和 的friends字段必须被指定包含以下字符串之一:EVERYONENETWORKS_FRIENDS(当 目的可以通过网络和朋友中可以看出),FRIENDS_OF_FRIENDS, ALL_FRIENDS,SOME_FRIENDSSELF,或NO_FRIENDS(当对象可以是 由网络只看到)。

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

allow场当friends值设置为 SOME_FRIENDS,必须指定一个逗号分隔的用户ID和 朋友列表ID是“可以”看到帖子的名单必须指定。如果friends字段设置为 SOME_FRIENDS,必须指定一个逗号分隔的用户ID和 好友列表ID是“不能”看到帖子的列表

deny字段可以指定。


搜索隐私以下链接来查看所有的选项:

https://developers.facebook.com/docs/graph-api/reference/v2.6/post