在POST到Facebook Graph API时指定隐私

Kev*_*inM 13 facebook facebook-graph-api

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

有没有办法用图形API做到这一点?我在旧的REST API中看到,steam.publish方法中有一个"privacy"参数(请参阅http://developers.facebook.com/docs/reference/rest/stream.publish).图API中是否有等价物?

小智 7

这是答案.

只需在JSONObject格式的Bundle中包含"privacy",包括值"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){
    }
}
};
Run Code Online (Sandbox Code Playgroud)


Roo*_*h15 0

就在这里:

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

有一个名为“隐私”的字段,您可以对其进行修改。

希望有帮助,-Roozbeh