谁能告诉我,在将时间线发布到时间线时,Facebook的开放图谱API的可靠性是什么?
Background :
-
我创建了一个新的FB iOS App
-
使用自定义对象"blogpost"创建新的操作类型"write",因为泛型类型对我不起作用
-
跟随Facebook提供的教程中的每一位http://developers.facebook.com/docs/opengraph/tutorial/符合所有OG要求
Publishing code :
[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>
Testing environment :
-
在模拟器和实际设备中测试过
-
对于每次请求尝试,我都会使用新的应用程序开始排除任何应用程序的网络问题 .
-
每次,我的请求完全相同,使用相同的链接博客网址 .
-
我正在使用最新的iOS SDK
-
我的网络非常可靠
-
博客页面可以访问并正确包含opengraph设置的所有要求
The error responses from Facebook API vary each time:
-
OAuthException:发生意外错误 . 请稍后重试您的请求 .
-
例外:无法从URL检索数据 .
-
异常:类型'MY_APP:blogpost'的URL 'http://blogpost.url/here'处的对象无效,因为指定的应用程序ID 'XXXXXXXX'不允许使用域'blogpost.url' . 您可以在https://developers.facebook.com/apps/XXXXXXX验证已配置的'App Domain' .
(注意:显然,blogpost.url正在被真实的现有页面取代)
请求成功率约为30% .
Facebook的结尾有可能存在任何问题吗?目前,我不想以Facebook共享可靠性的当前形式发布我的应用程序 .
感谢您提供任何反馈,帮助或建议 .
1 回答
经过一些进一步的研究和耐心,现在一切都可靠 .
以下错误在24小时内停止显示,我们这边没有任何代码更改(我想FB确实存在问题):
OAuthException:发生意外错误 . 请稍后重试您的请求 .
异常:类型'MY_APP:blogpost'的URL 'http://blogpost.url/here'处的对象无效,因为指定的应用程序ID 'XXXXXXXX'不允许使用域'blogpost.url' . 您可以在https://developers.facebook.com/apps/XXXXXXX验证已配置的'App Domain' .
以下异常是由我们的操作对象的url引起的 - 因为url在“FB发布操作”之前的第二个字节开始生效,URL并未真正发布在我们的Web前端的所有实例中:
希望这可以帮助将来的某个人 .