Android:Facebook社交上下文API - 获得共同的朋友

时间:2014-07-02 09:20:30

标签: android facebook facebook-graph-api

我正在尝试使用此文档中的Facebook社交上下文API获取共同的朋友数和数据(用户ID和名称):https://developers.facebook.com/docs/facebook-login/social-context/v2.0

文档中的示例代码如下所示,我使用我需要的Facebook ID对其进行了调整。

/* make the API call */
new Request(
    session,
    "/3003345?fields=context",
    null,
    HttpMethod.GET,
    new Request.Callback() {
        public void onCompleted(Response response) {
            /* handle the result */
        }
    }
).executeAsync();

但是,我的日志显示此错误:

{Response:  responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 2500, errorType: OAuthException, errorMessage: Syntax error "Expected end of string instead of "?"." at character 7: context?access_token="accesstoken"}, isFromCache:false}

(我用“accesstoken”替换了访问令牌)

任何人都知道解决方案吗?我被困了几天。感谢。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题但是使用GraphRequest类,所以我会为它写。

GraphRequest会像这样制作网址

  ...facebook.com/3003345?fields=context?access_token=...

而不是

  ...facebook.com/3003345?fields=context&access_token=...

应该如此。

解决方案:

  GraphRequest request =  GraphRequest.newGraphPathRequest(session, 3003345,...);

  Bundle parameters = new Bundle();

  parameters.putString("fields", "context");

  request.setParameters(parameters);

  request.executeAsync();