Solicitações de insight da API de lotes do Facebook

Para um projeto eu tenho que pegar os insights de uma página durante um longo período de tempo (por exemplo, 1-2 anos) do facebook.

Eu tentei primeiro fazer um único pedido, mas descobriu-se que apenas solicitando

/PAGE_ID/insights?since=xxx&until=xxx

não retorna todos os dados que eu quero (de alguma forma suprime os dados como se houvesse algum limite para o tamanho da resposta).

Eu tentei dividir o intervalo de datas (por exemplo, 01.04.2011-01.04.2011 -> 01.04.2011-01.08.2011-01.12.2011-01.04.2011) que também não funcionou como eu queria que ele .

Minha próxima abordagem foi solicitar apenas os valores de insight de que preciso, como "page_stories, page_impressions, ...". Os pedidos pareciam com isso

/PAGE_ID/insights/page_impressions/day?since=xxx&until=xxx

Isso realmente funcionou, mas não com ajax. Às vezes, parecia deixar cair algumas solicitações (especialmente se eu mudei a guia do navegador no google chrome) e eu preciso ter certeza de que todas as solicitações retornam uma resposta. Uma solução synchronus levaria muito tempo, considerando que uma solicitação requer pelo menos 2 segundos e com um intervalo de datas de 2 anos, eu posso ter cerca de 300 solicitações únicas, isso leva muito tempo para ser concluído.

Por fim, tropecei na capacidade do Facebook de fazer solicitações em lote, o que é exatamente o que preciso. Pode embalar até 50 solicitações em uma chamada, o que reduz significativamente a largura de banda. E aqui é onde eu estou preso. O facebook api dá alguns exemplos de como usá-lo, mas nenhum deles funcionou quando eu os testei no Graph Explorer e através do php facebook api sdk. Eu tentei embalar este pedido

PAGE_ID/insights/page_fan_adds/day?since=1332486000&until=1333695600

em uma solicitação em lote, mas falhou.

Parece que a API está com um bug. Está sempre me dando esse erro quando estou usando um ponto de interrogação '?' no campo 'relative_url'.

{
  "error": {
    "message": "batch parameter must be a JSON array", 
    "type": "GraphBatchException"
  }
}

Aqui está o que eu tentei:

Estes dão o erro "deve ser um array JSON":

?batch=[{"method":"GET","relative_url":"/PAGE_ID/insights/page_fan_adds/day?since=1332486000&until=1333695600"}]

Esses dois realmente retornam dados, mas estão ignorando os parâmetros:

?batch=[{"method":"GET","relative_url":"/PAGE_ID/insights/page_fan_adds/day","body":"since=1332486000 until=1333695600"}]
?batch=[{"method":"GET","relative_url":"/PAGE_ID/insights/page_fan_adds/day","body":"since=1332486000,until=1333695600"}]
?batch=[{"method":"GET","relative_url":"/PAGE_ID/insights/page_fan_adds/day","body":{"since":"1332486000","until":"1333695600"}}]

E este me diz que esta é uma "solicitação de postagem sem suporte":

?batch=[{"method":"POST","relative_url":"/PAGE_ID/insights/page_fan_adds/day","body":"since=1332486000 until=1333695600"}]

Alguém pode ajudar?