Facebook SDK - iOS - 分享 URL 失败(错误 102)
Posted
技术标签:
【中文标题】Facebook SDK - iOS - 分享 URL 失败(错误 102)【英文标题】:Facebook SDK - iOS - Fail to share URL (Error 102) 【发布时间】:2013-08-30 21:10:21 【问题描述】:我正在尝试在我的应用程序上集成一个简单的 URL 分享,遵循专门的 Facebook 教程 (link)
在我的应用程序上,我只需单击一个按钮,该按钮会显示一个对话框,我可以在其中输入评论。 这部分工作找到。然而,当我点击“发布”时,我收到以下错误:
Error Domain=com.facebook.Facebook.platform Code=102 “操作无法完成。(com.facebook.Facebook.platform 错误 102。)” UserInfo=0x14dd1a10 error_message=无法验证应用程序,因为应用名称不匹配。请检查对话框配置的应用名称,app_id=000000,error_code=102
(在此消息中,我只是将我从 Facebook 开发者页面获得的 app_id 替换为零。)
在 Facebook 应用设置中,我设置如下:
“显示名称”:与应用名称同名 “捆绑 ID”,字符串由[[NSBundle mainBundle] bundleIdentifier];
返回
应用处于“实时”状态(不在沙盒中)
“深度链接”和“连接到 FB”:均已激活
当我在 FB 开发页面上保存我的设置时,我收到一条警告说我没有设置 AppStore 标识符(由于我正在开发应用程序,所以它还不可用)。
你能告诉我我做错的小事吗?
提前感谢您的回复。
如有必要,我很乐意为您提供更多信息。
【问题讨论】:
您是否尝试过删除“深层链接”?您不需要选择它。此外,该应用程序可以被沙盒化,您仍然可以测试您的 iPhone 应用程序。 感谢您的提示,但问题是我将 FacebookDisplayName 参数设置为错误的值。 我在 facebook 显示名称中找到了特殊 utf8 字符的解决方案:***.com/questions/22050613/… 在这个问题上花了两天时间后,我的原因是为“图像”提供了不完整的链接。使用 NSURL.path 而不是 NSURL absoluteString,facebook SDK 返回代码 102 我的错误是使用 fileUrlWithPath 而不是字符串 【参考方案1】:这通常来自您在 .plist 中设置 FacebookDisplayName,但您在此处设置的内容与您在 Facebook 应用设置中的应用名称不匹配。
您在 FacebookDisplayName 中提供的值必须与您在 Facebook 上设置的值一致。
【讨论】:
好的,这就是问题所在!感谢您的帮助! 另外,我使用了一个测试 Facebook 帐户,该帐户未经验证。使用经过验证的帐户,它运行良好! Answer 在 android 集成方面对我很有帮助。 @Ming Li 这绝对是正确答案。确保显示名称中没有特殊字符或标点符号。我删除了一个句号和一个hypen,一切正常。本质上将您的应用程序 FB 显示名称命名为变量...【参考方案2】:如果出现错误 102,请检查关注
-
FacebookDisplayName 在 plist URL Scheme 中设置正确且正确
fbxxxxxxxxxxx添加到plist中
FacebookAppID 在 plist 文件中设置正确
在“状态和审查”部分确保您有“您想将此应用程序及其所有实时功能提供给公众吗?” make 为 YES(默认设置为 No)
【讨论】:
你的回答对我帮助很大,我错过了第 4 种情况,启用它并开始工作,谢谢@mihir mehta 我还需要启用应用程序,如 4)。谢谢! 请注意,答案 #4 是在 Facebook 开发者网站上配置的。该部分的当前名称是“App Review”,问题的当前文本是“Make public?”还是默认设置为No,需要设置为Yes。【参考方案3】:对我来说,这些解决方案都不起作用。原来我只需要从 info.plist 中删除 facebookDisplayName 记录。奇怪,但它有效
【讨论】:
也为我解决了这个问题,但我仍然无法接受这种解决方法【参考方案4】:还有一个变音符号的问题,你不能在FacebookDisplayName中使用它...例如č,ž,š等。如果你写的都是没有变音符号,它可以正常工作。
【讨论】:
【参考方案5】:我同意@user3170877。它不能像日文和韩文一样使用。我建议只使用英语。
【讨论】:
【参考方案6】:登录 Facebook 开发者帐户并检查状态是在线还是开发中。如果它处于开发中,则将其更改为实时。这对我有用。
【讨论】:
【参考方案7】:如果其他答案都没有为您解决此问题,最后要检查的一件事是 Facebook 应用设置中的捆绑 ID。 我的 ios 应用程序遇到了这个问题,该应用程序使用不同的包标识符,具体取决于我使用的构建配置。 您可以在 Facebook 应用设置中指定多个 Bundle ID。
【讨论】:
【参考方案8】:如果您的 Facebook 应用状态为“开发中且不向公众开放”将导致相同的结果。
您可能希望在 Facebook 应用菜单的“应用审核”下将其更改为公开。或者您需要以“Administrators”、“Developers”或“Testers”角色登录 Facebook
【讨论】:
以上是关于Facebook SDK - iOS - 分享 URL 失败(错误 102)的主要内容,如果未能解决你的问题,请参考以下文章
通过 FB SDK for iOS 将视频分享到 facebook