Facebook:批量请求中的字段扩展 ->

Facebook: field expansion in batch requests ->

如何为批处理请求的第二部分定义请求的字段?

示例:

[
  {
    "method": "GET",
    "name": "get-friends",
    "relative_url": "me/friends?limit=5",
    "omit_response_on_success": false
  },
  {
    "method": "GET",
    "relative_url": "?ids={result=get-friends:$.data.*.id}"
  }
]

到目前为止这有效。但是现在我想为第二部分定义请求的字段。

当我添加 &fields=address ("relative_url": "?ids={result=get-friends:$.data.*.id}&fields=address") 时,我得到一个 "Batch parameter must be a JSON array" 异常 :-(

拉尔夫

I get a "Batch parameter must be a JSON array" exception

这可能只是意味着您的查询无法理解,因为您以某种方式使语法无效。 & 在 URL 中有特殊含义,因此您很可能只需要对其进行正确编码。

URL-对 batch 参数的整个值进行编码(因此基本上是从对象中获得的整个 JSON 字符串。)

(为此使用 function/method 取决于您如何构建请求,分别使用何种语言。PHP 有 urlencode,JavaScript 有 encodeURIComponent, 等等)