Android应用中的Facebook Graph API字段扩展

时间:2013-01-29 02:04:12

标签: android facebook facebook-android-sdk facebook-field-expansion

Facebook的Android SDK是否支持字段扩展?我在哪里可以找到一个例子?

有关Graph APi的字段扩展的精彩文档。但是,我找不到android-sdk-3的任何文档。是否支持?

如果您要执行以下操作,问题就会出现:

/me?fields=name,birthday,photos.limit(10).fields(id, picture)

在Facebook android SDK中,似乎将参数添加为字符串不起作用

E.g。

request = Request.newGraphPathRequest(session, "me/friendlists", new Request.Callback() {
    public void onCompleted(Response response) ...
}
Bundle parameters = new Bundle();
parameters.putString("fields","members.fields(id)", "list_type");
request.setParameters(parameters);

2 个答案:

答案 0 :(得分:7)

Session session = Session.getActiveSession();
    Bundle parameters = new Bundle(); 
    parameters.putString("fields","picture,description,source"); 
    new Request(session, /me/videos/uploaded, parameters, HttpMethod.GET,
            new Request.Callback() {
                public void onCompleted(Response response) {
                    GraphObject responseGraphObject = response
                            .getGraphObject();
                    JSONObject json = responseGraphObject
                            .getInnerJSONObject();
                    try {
                        JSONArray array = json.getJSONArray("data");
                        for (int i = 0; i < array.length(); i++) {
                            JSONObject main = array.getJSONObject(i);
                            String surce = main.optString("source");

                            String picture = main.optString("picture");

                            String videoname = main
                                    .optString("description");
                            System.out.println(surce);

                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }).executeAsync();

*通过图表api从faecbook获取视频数据,并将字符串放入bundle *

答案 1 :(得分:1)

Android SDK用于进行图谱API查询

使用与对graph.facebook.com进行原始HTTP调用或使用Graph API Explorer工具时相同的参数和相同的返回值进行API调用 -

只需按照Field Expansion文档中的语法,将您现有的API调用更改为包含所需的其他字段,例如:如果您目前正在呼叫/me/friends,则可以将其更改为/me/friends?fields=name,birthday