适用于 iOS 的 Facebook SDK 的权限

Posted

技术标签:

【中文标题】适用于 iOS 的 Facebook SDK 的权限【英文标题】:Permissions for Facebook SDK for iOS 【发布时间】:2011-06-24 13:59:24 【问题描述】:

我正在尝试将我的应用与 Facebook 集成,只是为了在用户的墙上发布消息。

所以我已经下载了最新的 Facebook SDK,然后更改了一行以强制使用 Facebook 登录对话框而不是 safari:

[self authorizeWithFBAppAuth:YES safariAuth:NO];

现在授权工作正常,但在输入凭据后,它会请求“访问我的基本信息”和“发布到我的墙上”的权限(我添加了 publish_stream)。

我担心用户可能会因为我的应用试图获取他们的信息(包括朋友列表等)而感到害怕。

所以我的问题是:是否可以在没有“访问我的基本信息”的权限请求中只有“发布到我的墙上”?

【问题讨论】:

【参考方案1】:

我想我明白你在问什么。你能把这一步中的“访问我的基本信息”去掉吗?

您不能这样做,因为默认情况下,这是任何应用都可以访问的。它只是基本信息(即姓名、个人资料信息、朋友列表等)。这类似于一个人批准他们的朋友请求时朋友获得的信息。

您是否认为这相当于访问他们的所有信息?我问的原因是因为这个请求似乎不是一个主要的请求。

顺便说一句,要发布到他们的墙上,您需要他们的一些基本信息,特别是他们的 Facebook 用户 ID。

【讨论】:

【参考方案2】:

到目前为止,我还没有看到不这样做的应用程序。问题是 Facebook 不信任你。他们是对的。

也许您应该坚持使用 Safari 解决方案?您可以获得一个链接,您可以在 Web 视图中加载该链接,并使用 URL 中指定的自定义项(由 Facebook 指定)。

【讨论】:

我根本不想跳过询问权限的步骤。问题是我的应用不需要获取有关用户的任何信息,因此,我不希望用户被要求分享他的信息。我的应用程序只是在墙上发布一条消息,所以我想要实现的是在权限请求中它只要求“在我的墙上发布”。有办法吗? 使用 Facebook,要么全有,要么全无。这是 Facebook 平台的一个重要缺点。用户必须信任应用程序的一切。他们应该实施一个权利系统,比如 Lion 的沙盒。【参考方案3】:

您无法跳过此步骤。出于安全原因,facebook 放置了这个对话框。如果没有这一步,那么我们可以开发一个应用程序在用户墙上发布垃圾邮件:-)

【讨论】:

我根本不想跳过询问权限的步骤。问题是我的应用不需要获取有关用户的任何信息,因此,我不希望用户被要求分享他的信息。我的应用程序只是在墙上发布一条消息,所以我想要实现的是在权限请求中它只要求“在我的墙上发布”。有办法吗?

以上是关于适用于 iOS 的 Facebook SDK 的权限的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS 的 Facebook SDK 登录

适用于 iOS 访问令牌问题的 Facebook SDK

适用于 iOs 的 Facebook SDK 无法正常工作

适用于 iOS 的 Facebook SDK 的权限

适用于 iOS 的 Xamarin facebook sdk 导致应用程序崩溃

适用于 iOS 4.0 的 Facebook sdk