Facebook开放图 - 发布行动可靠性

时间:2012-04-06 15:40:45

标签: iphone ios facebook-graph-api facebook-opengraph

有人能告诉我,在将时间线发布到时间线时,Facebook的开放图谱API的可靠性是什么?

背景

  • 我创建了一个新的FB iOS App
  • 使用自定义对象“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
  • 我的网络非常可靠
  • 可以访问blogposts页面并正确包含opengraph
  • 设置的所有要求

Facebook API的错误响应每次都有所不同:

  • OAuthException:发生了意外错误。请稍后重试您的请求。
  • 例外:无法从网址检索数据。
  • 异常:“MY_APP:blogpost”类型的URL“http://blogpost.url/here”上的对象无效,因为指定的应用程序ID“XXXXXXXX”不允许使用域“blogpost.url”。您可以在https://developers.facebook.com/apps/XXXXXXX
  • 验证已配置的“应用域”

(注意:显然,blogpost.url正在被真实的现有页面取代)

请求成功率约为30%。

Facebook的结尾是否有任何问题?目前,我不想以Facebook共享可靠性的当前形式发布我的应用程序。

感谢您提供反馈,帮助或建议。

1 个答案:

答案 0 :(得分:2)

经过一些进一步的研究和耐心,现在一切都可靠。

以下错误在24小时内停止显示,而我们方面没有任何代码更改(我认为FB确实存在问题):

  • OAuthException:发生了意外错误。请稍后重试您的请求。
  • 异常:“MY_APP:blogpost”类型的URL“http://blogpost.url/here”上的对象无效,因为指定的应用程序ID“XXXXXXXX”不允许使用域“blogpost.url”。您可以在https://developers.facebook.com/apps/XXXXXXX
  • 验证已配置的“应用域”

以下异常是由我们的操作对象的url引起的 - 因为url在“FB发布操作”之前的第二个字节开始生效,URL并未真正发布在我们的Web前端的所有实例中:

  • 例外:无法从网址检索数据。

希望这有助于将来。