如何强制android facebook sdk重新验证

How to force android facebook sdk to re-authenticate

简短版:我希望我的应用程序以某种方式delete/reset同一设备上的 Facebook 应用程序,以便在注销后它总是要求人们登录 Facebook应用程序并忘记所有帐户历史以维护隐私。

长版: 我正在构建一个 android 应用程序来完成这样的特定任务:

  1. 应用程序将捕获图像
  2. 应用程序会要求用户登录 Facebook(例如 Facebook 集成)
  3. 然后应用程序将尝试通过用户的 Facebook 帐户分享捕获的图像
  4. 然后应用程序将自动注销当前用户帐户

我按照 Android Facebook SDK 文档来构建登录功能。它说我的设备必须安装Facebook应用程序所以我安装了它,一切都很好。

图片分享进行得很顺利。

但是我希望我的应用程序完全注销当前的 Facebook 帐户。我使用以下代码遵循 的答案:

public void disconnectFromFacebook() {

    if (AccessToken.getCurrentAccessToken() == null) {
        return; // already logged out
    }

    new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
            .Callback() {
        @Override
        public void onCompleted(GraphResponse graphResponse) {

            LoginManager.getInstance().logOut();

        }
    }).executeAsync();
}

它确实注销了,但是已经在Facebook Apps登录的Facebook帐户将保持不变。然后当另一个用户要登录时,会弹出一个场景like this,表明Facebook Apps保存了帐户历史记录并没有完全退出。

由于我的应用程序将部署在 public 人们可以自由拍摄照片并通过我的应用程序将其分享到 Facebook 的地方,我希望我的应用程序始终从我的设备上永久注销 Facebook 帐户。这意味着,当下一个人使用我的应用程序时,我希望它询问一个全新的 Facebook 登录身份验证,而 Facebook 应用程序不会记住每个登录它的人。

我已经尝试了一些解决方法:

  1. 我禁止使用 webview 登录 facebook,如 here 所述, 此解决方案似乎总是要求登录身份验证,但随后 它还会重定向到 Facebook 应用程序,因此毫无意义。
  2. 我想通过网络应用程序分享图片,但不仅无法使用我的代码自动分享,回调也无法到达我的应用程序。此外,文档还指出所有共享任务必须使用 Facebook SDK 完成。

对不起,我不应该更好地编译我的问题。

提前致谢。

尝试使用网络 API 而不是个人应用程序进行验证,使用移动应用程序登录 Facebook 仅供私人用户使用。这是完整的 .