2012-01-16 140 views
1

我已成功发布到Facebook墙,但我希望该用户可以选择是否要将其发布到某个特定的好友列表,例如,熟人,家庭等使用Facebook Android SDK发布到Facebook特定的好友列表

我的代码是给这个错误:

{"error":{"message":"(#100) privacy must contains a valid privacy 'value'","type":"OAuthException"}} 

我已经加入“隐私”属性,并给予“家”,它的价值,但其没有工作,但如果我删除隐私属性,壁后成功

try 
     { 
      Bundle parameters = new Bundle(); 
      parameters.putString("message", msg); 
      parameters.putString("description", "Test 1"); 
      JSONObject jsonObject = new JSONObject(); 
      jsonObject.put("value", "Family"); 
      parameters.putString("privacy", jsonObject.toString()); 
      response = Data.facebook.request("me/feed", parameters,"POST"); 

     } catch(Exception e) { 
      e.printStackTrace(); 
     } 

回答

5

值字段可以指定以下字符串之一: 大家,ALL_FRIENDS,NETWORKS_FRIENDS,FRIENDS_OF_FRIENDS,CUSTOM。大家,NETWORKS_FRIENDS,FRIENDS_OF_FRIENDS, ALL_FRIENDS,SOME_FRIENDS,SELF(当 目的可以通过网络和朋友可看出):

的朋友字段如果值被设置为CUSTOM和 包含以下字符串之一必须指定,或NO_FRIENDS(当对象可以是仅由网络看到的 时)。

的允许当朋友值设置为 SOME_FRIENDS,必须指定一个逗号分隔的用户ID和 朋友列表ID是“可以”看到帖子的列表必须指定的字段。

试试这个,而您需要知道Family的朋友列表ID。

var theFriendLists = Api.Get(`me/friendlist`); 
var theFriendsListIdForFamily = theFriendLists.Select item where list_type=="family"; 

JSONObject jsonObject = new JSONObject(); 
jsonObject.put("value", "CUSTOM"); 
jsonObject.put("friends", "SOME_FRIENDS"); 
jsonObject.put("allow", theFriendsListIdForFamily); 
parameters.putString("privacy", jsonObject.toString()); 
相关问题