我正在使用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:必须使用活动访问令牌来查询有关当前用户的信息。}”
这完全令人沮丧。我使用相同的令牌访问我的信息,它工作得很好。
答案 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,...
它有效!