拒绝权限后登录 Facebook
Posted
技术标签:
【中文标题】拒绝权限后登录 Facebook【英文标题】:Facebook Login after declined Permission 【发布时间】:2016-11-23 18:18:29 【问题描述】:自从新的 FBSDK 发布以来,我就遇到了这个问题。
场景:
1.用户通过FBLogin登录我的应用 2.用户拒绝我的一项权限
-
我的应用程序将他设置回第一个屏幕(我不允许在不提供信息的情况下创建帐户)
他再次尝试登录
他意识到 FBSDK 保存了他无法更改的设置。
我如何为用户提供更改它的可能性? 我的应用程序运行到这一点,我注意到一个拒绝的权限,我给我的用户一个更改设置的通知。 但我现在不知道该怎么做。
【问题讨论】:
【参考方案1】:首先,您不得将 Facebook 的所有权限设为强制性。 虽然如果需要,那么您可以使用以下代码检查是否授予权限
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"])
// TODO: publish content.
else
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
//TODO: process error or result.
];
检查拒绝的权限
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
if ([result.declinedPermissions containsObject:@”publish_actions”])
// TODO: do not request permissions again immediately. Consider providing a NUX
// describing why the app want this permission.
else
// ...
];
注意:如果用户拒绝权限,您不应立即再次请求。相反,您的应用程序应该继续运行。您可以考虑提供指南或用户界面来解释授予该权限的好处,但只有在用户执行需要它的操作时才应再次请求。
参考: https://developers.facebook.com/docs/facebook-login/ios/permissions https://developers.facebook.com/docs/ios/errors
【讨论】:
这些实际上是我到目前为止所做的步骤。我的问题是处理“过程错误”(你的第一个)。有没有办法强制用户提供信息?如果是这样:如何编程重置登录?以上是关于拒绝权限后登录 Facebook的主要内容,如果未能解决你的问题,请参考以下文章
坑向: 关于对Oracle数据库新建用户后,进行角色授予GRANT “CONNECT“, “RESOURCE“后,用户仍然没有指定角色的相关权限,致拒绝登录ORA-01045问题的探究
我用WINSCP连接SFTP服务器(linux),连接成功后,这时我修改了文件夹的权限,再次连接提示“密钥拒绝”?