批量分页请求

时间:2011-08-25 20:34:37

标签: json facebook-graph-api

我需要为用户检索新闻Feed,并使用返回多个页面的Graph API。我想得到四页,这很慢,所以我想使用批处理将所有页面的请求批处理为一个请求。我无法弄清楚如何批量请求多个页面 - 显然批处理中的每个请求都依赖于前一个。

我写了一个网页,让我全部测试,包含以下表格:

<form method="GET" action="https://graph.facebook.com">
<input type="hidden" name="access_token" value="blahblahblah">

<input type="hidden" name="batch" value="[{'method':'GET', 'name':'getnews',
   'omit_response_on_success':false, 'relative_url':'me/home'},{'method':'GET', 
   'relative_url':'{result=getnews:$.paging.next}'}]">

<input type="hidden" name="method" value="post">
<input type="submit">
</form>

当然,当我从Facebook收到需要分页的响应时,paging.next值是一个完整的URL,批处理功能需要relative_url,所以我的第一个请求有效,第二个请求返回paging.next URL在“身体”键中。

我发现了一条facebook文档,其中说明了以下请求的工作原理,其中graph.facebook.com后跟一个指定请求的完整URL://graph.facebook.com/http:// graph ?.facebook.com / ME /家庭_fb_url =我/家庭及安培; =的access_token blahblahblah“

我很惊讶地发现这很有效,但是当我向Graph API发出GET请求时它就会发生。不幸的是,批处理功能不允许我将完整的URL放在“relative_url”字段中 - 它只是做了“正文”的事情。

是否有人有好方法批量请求多个页面? kongo09和我在facebook开发论坛上想知道这件事,但我想这已经走了...... http://forum.developers.facebook.net/viewtopic.php?id=107098

谢谢, -Karl

1 个答案:

答案 0 :(得分:1)

我找到了一种方法:

你应该使用

"relative_url":"me/home?after={result=getnews:$.paging.cursors.after}"