【问题标题】:Add facebook permission after initial authorize with iOS SDK?使用 iOS SDK 初始授权后添加 facebook 权限?
【发布时间】:2012-06-22 14:03:02
【问题描述】:

如何在初始 [facebook authorize:permissions] 之后使用 facebook-ios-sdk 添加权限?

应用的主要目的是在 facebook 墙上发帖,但如果用户激活一个选项,应用需要更多权限并且应该再次询问用户?

但是,如果我尝试使用具有不同权限的 facebook-ios-sdk 中的授权方法,来自 facebook 的 sso 只会说此应用程序已获得授权(但从第一次授权开始,该权限保持不变)

有什么想法吗?

【问题讨论】:

  • 您的问题不是很具体,因此很难回答。如果您要就如何设计该功能以提示用户获得额外权限征求意见,这可能不是解决该问题的最佳论坛。如果您询问有关如何实施该权限更改的技术问题,请更新您的问题以提供有关您所要求内容的更多详细信息。
  • 我认为 iOS SDK 和一个方法调用表明我在询问如何实现它。我添加了相同的词来澄清......

标签: iphone facebook-graph-api facebook-ios-sdk


【解决方案1】:

只需使用permissions 的超集数组再次调用[facebook authorize:permissions] 就可以了。

第二次调用 authorize: 时,您将看到不同的 Facebook SSO 屏幕,其中只有新权限显示在“使用此应用程序要求:”列表中。

注意:确保您对 authorize: 的第二次调用不是基于返回 [self.facebook isSessionValid]false,因为它很可能会返回 true

编辑:

这是我在没有预先存在权限的情况下获得的第一个 FB 屏幕,我正在请求 (@"email", @"publish_stream", @"publish_actions"):

现在,稍后当我请求这些权限(@"email"、@"publish_stream"、@"publish_actions"、@"user_photos")时,我会得到这个:

【讨论】:

  • 就像在 facebook SSO 屏幕上写的那样,只表示该应用程序已获得授权。你测试过这个吗?
  • 在我看来,第二次调用,一旦基本权限被授权,应该说权限是可选的,或者额外的。但看起来是在应用程序中使用 FB 需要新权限,而不仅仅是执行用户当前尝试执行的操作。我以为我在某个地方看到显示的屏幕实际上使用了“可选”这个词来获得额外的权限,但我还没有找到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 2016-04-09
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
相关资源
最近更新 更多