Facebook格式错误的访问令牌android

时间:2014-07-13 18:39:04

标签: java android facebook-graph-api facebook-android-sdk facebook-access-token

我正在尝试通过Java(Android)在Facebook上进行图谱API调用。

这是请求

new Request(
        session,
        "/me/taggable_friends?fields=name,picture.type(normal)",
        null,
        HttpMethod.GET,
        new Request.Callback() {
            public void onCompleted(Response response) {

            }
        }
    ).executeAsync();

第一个错误是以下

07-13 18:23:19.871: Facebook Request(3884): {Response:  responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 2500, errorType: OAuthException, errorMessage: An active access token must be used to query information about the current user.}, isFromCache:false}

要解决此错误,我以这种方式明确地将请求令牌放在请求上

new Request(
        session,
        "/me/taggable_friends?fields=name,picture.type(normal)&access_token=" + session.getAccessToken(),
        null,
        HttpMethod.GET,
        new Request.Callback() {
            public void onCompleted(Response response) {
                /* handle the result */
                Log.d("Facebook Request Friends", response.toString());
            }
        }
    ).executeAsync();

并将此错误返回给我

07-13 18:26:14.624: Facebook Request(4005): {Response:  responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 190, errorType: OAuthException, errorMessage: Malformed access token CAATukWchF0IBAEgpzi4aywNlkkieqVXbrshYhtx6mrrJiDxLIWOVI6623uA4x5ZBpwoTjyxWZArLgzHgF2nu9zZAwrnGx5kojCqWrvaj2HMPZCrqq2M2OH828IsZAxTRsdCQecJaH1mgCZBRls7BZASh96F9oDVKBdLrxqZAQkmFoFetGwCZABaXkT9jjIZD?access_token=CAATukWchF0IBAEgpzi4aywNlkkieqVXbrshYhtx6mrrJiDxLIWOVI6623uA4x5ZBpwoTjyxWZArLgzHgF2nu9zZAwrnGx5kojCqWrvaj2HMPZCrqq2M2OH828IsZAxTRsdCQecJaH1mgCZBRls7BZASh96F9oDVKBdLrxqZAQkmFoFetGwCZABaXkT9jjIZD}, isFromCache:false}

我的access_token格式错误,但是取自getAccessToken()。

我不明白为什么我的访问令牌在logcat中写了两次,如你所见。 像[ACCESS_TOKEN]?access_token = [ACCESS_TOKEN] ??

我还尝试在logcat中打印getAccessToken()的结果并且是正确的。

Facebook应用已配置,权限可以,并且在Graph API Explorer中使用相同的access_token!

是否可以在请求中以其他方式指定访问令牌?

我不知道如何解决这个问题,我希望你这样做。

感谢您的建议。

0 个答案:

没有答案