获取页面配置文件时,Facebook Graph的响应错误

时间:2014-05-30 03:35:28

标签: android facebook facebook-graph-api user-profile

我有一种基于页面用户名从Facebook获取页面配置文件的方法。方法如下:

  public static void fetchProfile(Context context, String username, Request.Callback callback){
            String graphPath = BASE_URL + username;
            Log.v("FacebookController","tungtran profile:"+graphPath);
            Session session = Session.getActiveSession();
            Request request = new Request(session, graphPath, null, HttpMethod.GET, callback);
            Request.executeBatchAsync(request);
        }

  private void fetchAProfile(String username) {
        showWaiting("Loading profiles");
        Request.Callback callback = new Request.Callback() {
            @Override
            public void onCompleted(Response response) {
                FlyApp.log("tungtran profile - response:" + response.toString());
                hideWaiting();
            }
        };
        fetchProfile(this, username, callback);
    }

我打电话给我的班级:

fetchAProfile("ChelseaFC");

以前工作得很好但由于某些原因它几天前还没有用。 Logcat中的日志显示图形路径如下:

https://graph.facebook.com/ChelseaFC

反应看起来很奇怪:

    {Response:  responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"id":"https:\/\/graph.facebook.com\/v2.0\/ChelseaFC"}}, error: null, isFromCache:false}

如果我将路径粘贴到Facebook Graph API Explorer或浏览器上,请求会返回非常差异的响应。

查看链接 https://graph.facebook.com/ChelseaFC

我花了几天时间来搜索这个问题,但我没有运气。

任何机构都能知道我面临的问题吗?感谢先进的任何帮助。

1 个答案:

答案 0 :(得分:0)

无论如何,谢谢你,

我解决了这个问题。

问题出在String graphPath = BASE_URL + username;

我们不需要它。

我改变方法如下:

public static void fetchProfile(Context context, String username, Request.Callback callback){
            Session session = Session.getActiveSession();
            Request request = new Request(session, username, null, HttpMethod.GET, callback);
            Request.executeBatchAsync(request);
        }