向Facebook Open Graph Beta发送批处理请求
我试图提交一个批处理请求,通过Open Graph Beta向用户的时间线添加对象,但无论我做什么,我都会得到以下结果:向Facebook Open Graph Beta发送批处理请求,facebook,curl,facebook-graph-api,Facebook,Curl,Facebook Graph Api,我试图提交一个批处理请求,通过Open Graph Beta向用户的时间线添加对象,但无论我做什么,我都会得到以下结果: 您尝试发布的操作无效,因为它未指定任何引用对象。必须至少指定以下属性之一:egg。 但是我指定了一个egg属性。我的请求如下所示: https://graph.facebook.com/?batch=[{'method':'POST','relative_url':'/me/my_namespace:find','egg':'http%3A%2F%2Fwww.mydomain
您尝试发布的操作无效,因为它未指定任何引用对象。必须至少指定以下属性之一:egg。
但是我指定了一个egg
属性。我的请求如下所示:
https://graph.facebook.com/?batch=[{'method':'POST','relative_url':'/me/my_namespace:find','egg':'http%3A%2F%2Fwww.mydomain.com%2Fmy_namespace%2Fog%2Fegg.php%3Ftypeid%3D-966','start_time':'1317439270','end_time':'1317439270'}访问_令牌=&method=POST
我将egg
作为一个url编码的引用字符串发送到一个包含我打开的图形数据的url——如果我不以批处理的方式发送,该url确实有效,但因为在设置用户的时间线时,在某些情况下,我将不得不发布多达1000个操作,我正试图通过批处理来加快速度
I能够通过批处理请求成功删除。不是将“egg”作为批处理对象的参数发送,而是将其格式化为查询字符串,并在body参数中发送 此外,相对url不应以“/”开头 试着把这个贴出来
https://graph.facebook.com/batch?access_token=TOKEN&method=post&batch=
[
{
"method": "post",
"relative_uri": "me/your_namespace:find",
"body": "egg=http%3A%2F%2Fwww.mydomain.com%2Fmy_namespace%2Fog%2Fegg.php%3Ftypeid%3D-966&start_time= 1317439270&end_time= 1317439270
}
]
我已经测试过了,它是有效的
将数据发布到批处理API时,数据的格式必须像查询字符串一样,并在“body”参数中作为字符串发送。我现在收到一个新错误“批处理参数必须是JSON数组”。我的批处理参数是一个格式正确的JSON数组,虽然:{“方法”:“POST”,“相对_uri”:“me/My_名称空间:find”,“body”:“egg=http%3A%2F%2Fwww.mydomain.com%2Fmy_名称空间%2Fog%2Fegg.php%3Ftypeid%3D-966&start_time=1317439270&end_time=1317439270”},{“方法”:“POST”,“相对_uri”:“me/My_名称空间:find”,“body”:“egg=http%3A%2F%2Fwww.mydomain.com%2Fmy_命名空间%2Fog%2Fegg.php%3Ftypeid%3D-968&start_time=1317438608&end_time=1317438608”}]我有一个facebook应用程序,它有两个自定义对象类型和两个操作。一个操作/对象组合工作正常。另一个获得“不指定任何引用对象”“错误。每一次。我已经测试了curl和javascript,两种方法都有相同的错误。我从开发者应用程序复制了示例代码,得到了相同的错误。所以我希望有人在这里发布解决方案!