Facebook - 错误代码 - 2500非活动访问令牌

时间:2015-12-27 12:55:10

标签: android facebook facebook-graph-api parse-platform

我正在使用Parse(通过Facebook)作为我的后端服务,我将Facebook与现有的Parse用户联系起来。

我在与Facebook链接的ParseUser上使用以下代码

  accessToken = AccessToken.getCurrentAccessToken();
  Log.d("Access Token",accessToken.getToken());

   new GraphRequest(
            accessToken,"/me?fields=first_name,last_name",null,
            HttpMethod.GET,
            new GraphRequest.Callback(){

                public void onCompleted(GraphResponse graphResponse){

                    if(graphResponse.getError()!=null)
                        Log.d("Error", graphResponse.getError().toString());

                    else{
                        try{
                            JSONObject jsonObject = graphResponse.getJSONObject();
                            ParseUser user = ParseUser.getCurrentUser();

                            user.put("email",jsonObject.getString("email"));
                            user.saveInBackground();

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

现在在我的日志中,我获得了一个访问令牌,当在developers.facebook.com/tools/explorer/ - >中使用时它在那里工作得很好

在我的日志中,我收到以下错误 - > “{HttpStatus:400,errorCode:2500,errorType:OAuthException,errorMessage:必须使用活动访问令牌来查询有关当前用户的信息。}”

这完全令人沮丧。我使用相同的令牌访问我的信息,它工作得很好。

1 个答案:

答案 0 :(得分:0)

我尝试了一些东西而且有效。

更改了以下行

function readFile(data, elem, file, index) {
     if (!file)
         return;
     var reader = new FileReader();
     reader.onloadend = readFileLoadEnd(data, elem, file, index);
     reader.readAsDataURL(file);
 }

 new GraphRequest(
        accessToken,"/me?fields=first_name,last_name",null,...

它有效!