在 Facebook 应用程序设置☞ 高级☞ 身份验证中,我可以选择“Web”或“Native/Desktop”作为应用程序类型。信息泡泡说:
如果您是原生 iOS 或 Android 应用程序、设备或桌面应用程序,请仅选择 Native/Desktop
实际上我不是这些,但我的应用程序是原生 iOS 应用程序以及 Facebook 页面选项卡。
问题:我应该选择哪种应用类型?
我做了一些研究,并在Facebook Android 教程(在疑难解答下)中发现了以下内容:
- 应用程序类型 Web 与本机/桌面。有关系吗?: 不,没关系。但是,建议您为您的应用使用“Native/Desktop”类型。
没关系是什么意思?这对我来说没有意义。那我为什么要选择呢?
我对 SO 进行了更多研究,发现@Igy(Facebook的开发支持工程师)发表了以下声明:
如果应用程序的类型设置为“本机/桌面”,则假定您使用二进制文件分发了应用程序的密钥,因此应用程序访问令牌不受信任(并且 PHP SDK 中的“getAccessToken”仅在真实用户登录时才有效中,它不能回退到应用令牌)
最后我在Facebook 文档中找到了这个:
注意:配置为本地/桌面应用程序的应用程序将无法进行需要应用程序的 API 调用
access_token
。
我确实需要进行需要来自我的页面选项卡应用程序的访问令牌的 API 调用,因此我的结论是选择“Web”作为应用程序类型,尽管我有一个使用与页面选项卡相同的应用程序 ID 的本机 iOS 应用程序应用程序。但这会对 iOS 应用程序有任何缺点吗?