Android 如何申请新的facebook代币

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

我的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 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。我没有使用“离线访问”,所以我对此问题无能为力?即使用户刚刚首次登录?