如何执行Facebook Android SDK的图形API

4
我可以在Facebook Graph API Explorer中运行此代码以获取用户ID、用户名、最近的状态和个人资料图片。
/8794851923?fields=id,name,statuses,picture 

如何使用Facebook-SDK在Android上执行并获取结果?我尝试过这个链接,但已经过时了。谢谢。
2个回答

4

在查看Facebook示例SDK后,我得到了这个:

     Bundle params = new Bundle();
     params.putString("fields", "id,name,statuses");

 final String requestId = "154727011315956";

 Request request = new Request(session, requestId, params, HttpMethod.GET, new Request.Callback() {
      public void onCompleted(Response response) {
                GraphObject graphObject = response.getGraphObject();
                FacebookRequestError error = response.getError();
                if(error!=null){
                 Log.e("Error", error.getErrorMessage());
                 }

            }
        });

    Request.executeAndWait(request);

1
如果我想做类似这样的事情,会怎么样呢: https://graph.facebook.com/me/photosBundle参数会是什么样子? - IgorGanapolsky
能够从这里获取生日吗? - Prasad
“Request”类的确切包是什么?我将Android Facebook SDK包含到Android Studio项目中,但它显示“无法解析符号Request”。 - Shajeel Afzal
@ShajeelAfzal,我记不清了,而且这是一个旧的代码,使用旧版Facebook API,你可以在这里查看Facebook API文档:https://developers.facebook.com/docs/android/graph。 - barikatul
2
感谢@barikatul,现在对于Facebook SDF 4.0.1,Request类被GraphRequest类所取代。 - Shajeel Afzal

0
Graph API 是获取和传输 Facebook 社交图谱数据的主要方式。它是一个基于低级 HTTP 的 API,您可以使用它来查询数据、发布新故事、上传照片以及应用程序可能需要执行的各种其他任务。本指南将教您如何在 Graph API 中完成所有这些操作。
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/me",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
                    System.out.println("Response::" + String.valueOf(response.getJSONObject()));

        }
    }
).executeAsync();

在这里,

AccessToken.getCurrentAccessToken() >> 登录用户访问令牌

/me>> 开发者自己的个人资料信息

在这里还可以应用用户/页面的ID/名称来获取该信息 例如:/joshuatreemusicfestival/posts/

null>> 在这里传递实际获取用户/页面信息类型的参数,例如:

Bundle param = new Bundle();
        param.putString("fields", "message,created_time,id,full_picture,status_type,source,comments.summary(true),likes.summary(true)");

param 替换 null

HttpMethod.GET>> 请求方法 [GET, POST, DELETE]

最后调用 onCompleted() 并获取您想要的响应...!!!

参考链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接