我正在测试如果用户没有授予所有必要的权限会发生什么。我正在进行的应用程序运行良好。然后我进入我在 Facebook 上的隐私设置并删除了我的应用程序的一些权限。
回到我的应用程序,注销并重新登录后,我需要再次请求这些权限:
Session session = Session.getActiveSession();
session.requestNewReadPermissions(new Session.NewPermissionsRequest(this, READ_PERMISSIONS));
当我这样做时,我看到一个加载微调器,然后是一个标题为 Facebook 的对话框,其中有一个加载微调器和一个取消按钮,然后该对话框立即关闭。OnSessionStateChanged 以 OPENED 状态调用,而不是 OPENED_TOKEN_UPDATED 所需的状态,但也不意外,因为用户从未有机会批准权限。
如果我注销并尝试使用我的发布权限重新登录,我会收到一个对话框,要求我批准发布权限,但单击确定后,它并没有让我登录。
如果我去 Graph API Explorer 并请求具有这些权限的令牌,从而授予它们,那么我可以在手机上再次登录我的应用程序。