Facebook sdkからユーザー情報にアクセスしようとしていますが、このエラーが発生し続けます。
{"error":{"message":"Error validating access token: The session has been invalidated because the user has changed the password.","type":"OAuthException","code":190,"error_subcode":460}}
response
これが、oncomplete関数のパラメーターのエラーを返す呼び出しです。
mAsyncRunner.request("me", new RequestListener() {
@Override
public void onComplete(String response, Object state) {
Log.d("Profile", response);
String json = response; //<-- error in response
try {
JSONObject profile = new JSONObject(json);
MainActivity.this.userid = profile.getString("id");
new GetUserProfilePic().execute();
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Name: " + MainActivity.this.userid, Toast.LENGTH_LONG).show();
}
});
} catch (JSONException e) {
e.printStackTrace();
Log.e("jsonexception",e.getMessage());
facebook.extendAccessTokenIfNeeded(MainActivity.this, null);
GetUserInfo();
}
}
@Override
public void onIOException(IOException e, Object state) {
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
}
@Override
public void onFacebookError(FacebookError e, Object state) {
}
});
時々正しい応答が返ってきます。これは、私が正しければアクセストークンの有効期限が原因だと思います。アクティビティfacebook.extendAccessTokenIfNeeded(this, null);
のメソッドでこれを使用しましたが、アクセストークンを拡張する方法を教えてください。onResume
これを解決する方法は?