2010-08-25 129 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

相關問題