谁能告诉我,在将动作发布到时间线时,Facebook 的开放图形 API 的可靠性如何?
背景:
- 我创建了一个新的 FB iOS 应用
- 使用自定义对象“blogpost”创建一个新的操作类型“write”,因为通用类型对我不起作用
- 遵循 Facebook 在http://developers.facebook.com/docs/opengraph/tutorial/上提供的教程的每一点,以符合所有 OG 要求
发布代码:
[self.facebook requestWithGraphPath: @"me/MY_APP:write" andParams: [NSMutableDictionary dictionaryWithObject: @"http://blogpost.url/here" forKey: @"blogpost"] andHttpMethod: @"POST" andDelegate: self];
以下是符合 OG 要求的博文页头片段:
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP: http://ogp.me/ns/fb/MY_APP#">
<title>Blogpost page</title>
<meta property="og:title" content="Blogpost page" />
<meta property="og:image" content="http://url.to/the/image.png" />
<meta property="fb:app_id" content="123456790123456789" />
<meta property="og:url" content="http://blogpost.url/here" />
<meta property="og:type" content="MY_APP:blogpost" />
</head>
测试环境:
- 在模拟器和实际设备中测试
- 对于每次请求尝试,我都会启动一个新的应用程序以排除任何应用程序的网络问题。
- 每次,我的请求都是完全相同的,具有相同的链接博客网址。
- 我正在使用可用的最新 iOS SDK
- 我的网络非常可靠
- 博客文章页面可访问并正确包含 opengraph 设置的所有要求
Facebook API 的错误响应每次都不同:
- OAuthException:发生意外错误。请稍后重试您的请求。
- 例外:无法从 URL 检索数据。
- 例外:“MY_APP:blogpost”类型的 URL“http://blogpost.url/here”处的对象无效,因为指定的应用程序 ID“XXXXXXXX”不允许使用域“blogpost.url”。您可以在https://developers.facebook.com/apps/XXXXXXX验证您配置的“应用程序域” 。
(注意:很明显, blogpost.url 被替换为真实的现有页面)
请求成功率在 30% 左右。
Facebook端是否有任何问题?目前,我不想以 Facebook 共享可靠性的当前形式发布我的应用程序。
感谢您提供任何反馈、帮助或建议。