我正在测试如果用户未授予所有必要权限会发生什么。我正在进行的应用程序工作正常。然后我进入了Facebook上的隐私设置并删除了我的应用程序的一些权限。
回到我的应用程序,在注销并重新登录后,我需要再次请求这些权限:
Session session = Session.getActiveSession();
session.requestNewReadPermissions(new Session.NewPermissionsRequest(this, READ_PERMISSIONS));
当我这样做时,我看到一个加载微调器,然后是一个标题为Facebook的对话框,其中有一个加载微调器和一个取消按钮,然后该对话框立即关闭。根据需要调用OnSessionStateChanged,状态为OPENED,而不是OPENED_TOKEN_UPDATED,但也不会出现意外,因为用户从未有机会批准该权限。
如果我退出并尝试重新登录我的发布权限,我会收到要求我批准发布权限的对话框,但在点击确定后,它不会让我登录。
如果我转到Graph API资源管理器并请求具有这些权限的令牌,从而授予它们,那么我可以在手机上再次登录我的应用程序。
答案 0 :(得分:1)
我无意中在我的一个权限中引入了一个拼写错误(friends_status - > friend_status),并且因为我在Nexus设备上进行了测试而错过了来自com.facebook.katana的日志警告,所以控制台不断发送垃圾邮件nativegetenabledtags消息。我隐藏垃圾邮件的过滤器也隐藏了Facebook警告信息。