Android 如何申请新的facebook代币
我的Android应用程序使用Facebook进行身份验证,对大多数用户来说,一切都很正常。但是,当我在身份验证后执行com.facebook.RequestnewMeRequest时,其中一些人在下面遇到了这个错误:Android 如何申请新的facebook代币,android,facebook,Android,Facebook,我的Android应用程序使用Facebook进行身份验证,对大多数用户来说,一切都很正常。但是,当我在身份验证后执行com.facebook.RequestnewMeRequest时,其中一些人在下面遇到了这个错误: error_code: 190 error_type: OAuthException error_message: Error validating access token: The session has been invalidated because the user h
error_code: 190
error_type: OAuthException
error_message: Error validating access token: The session has been invalidated because the user has changed the password.
我知道我需要请求一个新的访问令牌,但我找不到如何做。
有人能帮我吗
这是我的密码:
private Session.StatusCallback statusCallback = new StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (state == SessionState.OPENED) {
authenticate();
} else if (state == SessionState.CLOSED_LOGIN_FAILED) {
Toast.makeText(LoginActivity.this, exception.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
}
};
@Override
public void onClick(View v) {
Session session = Session.getActiveSession();
if (!session.isOpened() && !session.isClosed()) {
Session.OpenRequest request = new Session.OpenRequest(this);
request.setPermissions("basic_info", "email");
request.setCallback(statusCallback);
session.openForRead(request);
} else {
Session.openActiveSession(this, true, statusCallback);
}
}
private void authenticate() {
final Session session = Session.getActiveSession();
if (session.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
// OAuthException is happening here
Toast.makeText(LoginActivity.this, error.getErrorMessage(), Toast.LENGTH_LONG).show();
return;
}
String facebookToken = session.getAccessToken();
// use fb info ...
}
}).executeAsync();
}
}
您需要让用户再次登录到您的应用程序,如中所述 如果访问令牌变为无效,解决方案是让此人 再次登录,此时您将能够对进行API调用 再次代表他们。应用程序用于新用户的登录流 应确定您需要采用的方法
所以这是在初始身份验证之后发生的。我已经读到,这可能与脱机访问被弃用有关,所以请确保您没有使用它。如果不是这样的话,这可能是Facebook方面的一个bug。我没有使用“离线访问”,所以我对此问题无能为力?即使用户刚刚首次登录?