【发布时间】:2012-07-21 18:42:14
【问题描述】:
在 Facebook 应用程序设置☞ 高级☞ 身份验证中,我可以选择“Web”或“Native/Desktop”作为应用程序类型。信息泡泡说:
如果您是原生 iOS 或 Android 应用,请仅选择 Native/Desktop, 设备或桌面应用程序
实际上我不是这些,但我的应用是原生 iOS 应用和 Facebook 页面标签。
问题:我应该选择哪种应用类型?
我做了一些研究,在Facebook Android Tutorial(在疑难解答下)中发现了以下内容:
- 应用类型 Web vs Native/Desktop。有关系吗?:不,没关系 事情。但是,建议使用“Native/Desktop”类型 你的应用。
什么意思没关系?这对我来说没有意义。那我为什么要选择呢?
我对 SO 进行了更多研究,并通过@Igy(Facebook 的开发支持工程师)找到了this statement:
如果应用的类型设置为“本机/桌面”,则假定您 将应用程序的密钥与二进制文件一起分发,因此应用程序 访问令牌不受信任(PHP SDK 中的“getAccessToken”将 仅在真实用户登录时有效,不能回退到应用令牌)
我终于在Facebook documentation找到了这个:
注意:配置为原生/桌面应用程序的应用程序不会 能够进行需要应用程序
access_token的 API 调用。
我确实需要进行 API 调用,这需要我的页面选项卡应用程序中的访问令牌,因此我的结论是选择“Web”作为应用程序类型,尽管我有一个使用相同应用程序 ID 的本机 iOS 应用程序页面标签应用程序。但这会对 iOS 应用程序有任何缺点吗?
【问题讨论】:
标签: ios facebook facebook-apps facebook-authentication facebook-access-token