Solicitudes de información de la API de Facebook Batch

Para un proyecto, tengo que captar los conocimientos de una página durante un largo período de tiempo (por ejemplo, 1-2 años) de facebook.

Primero traté de hacer una sola solicitud pero resultó que solo solicitaba

<code>/PAGE_ID/insights?since=xxx&until=xxx
</code>

no devuelve todos los datos que quiero (de alguna manera suprime los datos como si hubiera algún límite en el tamaño de la respuesta).

Luego traté de dividir el intervalo de fechas (p. Ej. 01.04.2011-01.04.2011 -> 01.04.2011-01.08.2011-01.12.2011-01.04.2011) que tampoco funcionó como quería. .

Mi siguiente enfoque fue solicitar solo los valores de información que necesito, como 'page_stories, page_impressions, ...'. Las peticiones se veían así.

<code>/PAGE_ID/insights/page_impressions/day?since=xxx&until=xxx
</code>

Esto realmente funcionó pero no con ajax. Algunas veces pareció eliminar algunas solicitudes (especialmente si cambié la pestaña del navegador en google chrome) y debo estar seguro de que todas las solicitudes devuelvan una respuesta. Una solución sincrónica tomaría demasiado tiempo considerando que una solicitud necesita al menos 2 segundos y con un rango de fechas de 2 años, es posible que tenga aproximadamente 300 solicitudes únicas, lo que lleva demasiado tiempo.

Por último, me topé con la capacidad de Facebook para hacer solicitudes por lotes, que es exactamente lo que necesito. Puede incluir hasta 50 solicitudes en una llamada, lo que reduce significativamente el ancho de banda. Y aquí es donde estoy atrapado. La API de Facebook da algunos ejemplos sobre cómo usarla, pero ninguno de ellos funcionó cuando los probé en Graph Explorer y a través de la API de Facebook Api SDK. Traté de empacar esta solicitud

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

en una solicitud por lotes pero falló.

Parece que la api está fastidiada. Siempre me está dando este error cuando estoy usando un signo de interrogación '?' en el campo 'relative_url'.

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

Esto es lo que intenté:

Estos dan el error 'debe ser una matriz JSON':

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

Estos dos realmente devuelven datos pero están ignorando los parámetros:

<code>?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"}}]
</code>

Y este me dice que se trata de una 'Solicitud de publicación no admitida':

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

¿Alguien puede ayudar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta