检查用户是否修改了应用程序的Facebook权限

我正在使用Facebook创建一个新用户或登录Parse

  • 用户使用Facebook登录登录到应用程序
  • 用户提示接受权限。
  • 用户接受应用程序请求的所有权限。
  • 4.用户删除了应用程序的权限(从Facebook删除应用程序)

    我想知道如何检查用户是否已更改Facebook中应用程序的授权状态。

    我如何检查它? 我们如何知道它不再连接?

    FBSDKAccessToken.currentAccessToken(); 不能完成这项工作,因为它只能检查令牌是否存在于设备中。

    IE:用户转到Facebook应用程序设置并从列表中删除应用程序。

    ps:请帮助把这个问题投票,因为它很难找到解决方案。 谢谢!!

    谢谢


    处理无效的会话

    我们无法知道缓存的Facebook会话是否有效,直到我们尝试向API发出请求。 如果用户更改密码或撤消应用程序的权限,会话可能会失效。 发生这种情况时,用户需要注销。 我们可以在FBSDKGraphRequest完成处理程序中识别无效的会话错误,并自动将用户注销。

    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil];
        [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
            if (!error) {
                // handle successful response
            } else if ([[error userInfo][@"error"][@"type"] isEqualToString: @"OAuthException"]) { // Since the request failed, we can check if it was due to an invalid session
                NSLog(@"The facebook session was invalidated");
                [PFFacebookUtils unlinkUserInBackground:[PFUser currentUser]];
            } else {
                NSLog(@"Some other error: %@", error);
            }
        }];
    

    来源:将登录与Facebook集成


    我想你可以在这里找到你要找的答案:

    https://developers.facebook.com/docs/facebook-login/ios/permissions

    你可以:

    1)自己检查错误:

    let token = FBSDKAccessToken.currentAccessToken()
    if token.hasGranted("publish_actions") //Or whatever other permission you're checking
    

    2)无论如何执行一些操作并检查错误:

    if error.userInfo[FBSDKGraphRequestErrorGraphErrorCode] == 200
    {
        //Handle missing permissions here
    }
    

    我猜测currentAccessToken将会是上次登录时的缓存信息,所以第二个选项可能是最好的选择。


    您可以为您的应用配置取消授权回拨URL。 因此,您需要创建一个后端服务,该服务可以在用户取消授权您的应用程序后处理来自Facebook的传入HTTP POST请求。

    看到

  • https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.4#deauth-callback
  • 了解详情。

    链接地址: http://www.djcxy.com/p/27483.html

    上一篇: Checking If User has Modified Facebook Permission For App

    下一篇: How do I download and replace an AppGroup container using XCode 6.4