我正在尝试提交一个批处理请求,通过Open Graph Beta将对象添加到用户的时间轴,但无论我做什么,我都会得到这个:
The action you're trying to publish is invalid because it does not specify any reference objects. At least one of the following properties must be specified: 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'}]&access_token=<<snipped>>&method=post
我正在将egg
作为网址编码的引用字符串发送到包含我的开放图表数据的网址 - 如果我不是批量发送它,而是在设置用户的时间轴时设置了URL在某些情况下,我必须发布最多1000个动作,我试图通过批量处理来加快速度。
我 能够通过批量请求成功删除。
答案 0 :(得分:2)
您不需要将'egg'作为批处理对象的参数发送,而是需要将其格式化为查询字符串并将其发送到正文参数中。
此外,relative_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'参数中作为字符串发送。