在Facebook Android SDK 4.0中删除了访问令牌

Che*_*Che 7 android facebook facebook-android-sdk facebook-access-token

我正在使用Facebook Android SDK 4.0(最新版本).初始设置后我登录了我的应用程序.然后我退出了我的应用程序.如果再次启动我的应用程序,则用户未处于登录状态.当我使用调试器时,它会显示"ACCESS TOKEN REMOVED".使用Access Token检查用户是否处于登录状态的过程是什么?

我已经尝试了新的登录方法(根据更新的版本4.0),他们在其中提到了登录过程.我已经做了.但每当我打开访问令牌状态是"访问令牌删除".我在仪表板设置中检查了App id,包名称,活动名称.全部正确.帮我找到解决这个问题的方法.

小智 14

你可以使用loginResult.getAccessToken()获取access_token.getToken(); 如下代码

 LoginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

          String accessToken= loginResult.getAccessToken().getToken();

        }
Run Code Online (Sandbox Code Playgroud)


Min*_* Li 12

默认情况下,SDK不会将访问令牌记录到logcat(这是为了避免通过日志泄漏用户令牌).

但是,您可以在调试模式下启用日志记录行为以记录访问令牌.只需在调用时添加此项FacebookSdk.sdkInitialize(),但请确保仅在调试模式下执行此操作:

if (BuildConfig.DEBUG) {
    FacebookSdk.setIsDebugEnabled(true);
    FacebookSdk.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
}
Run Code Online (Sandbox Code Playgroud)


Tia*_*ira 5

您可以使用获取令牌

 AccessToken.getCurrentAccessToken().getToken()
Run Code Online (Sandbox Code Playgroud)

使用此功能,您可以随时获取令牌,如果您使用LoginResult,则只需在登录时获取一次,当您重新启动应用程序时,不会调用onSuccess.

如果您在重新启动后需要配置文件,则使用

Profile.getCurrentProfile();
Run Code Online (Sandbox Code Playgroud)

如果返回null,则表示您没有进入