我正在进行API调用以从Facebook页面检索简单数据:
/[page_id]?fields=likes,talking_about_count,checkins
Run Code Online (Sandbox Code Playgroud)
我知道通过使用'ids'变量提供多个ID,我可以得到多个结果:
/?ids=[page_id],[page_id],[page_id]&fields=likes,talking_about_count,checkins
Run Code Online (Sandbox Code Playgroud)
我的问题是我没有多少ID可以同时检索.我知道批量请求的限制是50,但我找不到'ids'变量的文档.
更新:似乎这个限制已经在图API的2.0版本上删除了,但我仍在寻找官方答案.
我正在使用Facebook的批量请求发布到多个订阅源,我需要将正确的响应链接到批处理中的每个请求.由于我没有找到关于文档的确切信息,返回数组的成员是否与请求的顺序相同?
换句话说,如果我在返回的数组的第三个成员中出错,这是否意味着错误是指我在批处理中发送的第三个请求?
我可以使用id来获取成功的请求,但错误消息看起来很通用,并且不会将任何数据链接到生成它们的请求(除非我遗漏了某些内容).
我有一个来自facebook的用户数据库.我想使用批量请求获取他们的数据(兴趣和朋友生日).现在我可以为1个用户提出1个批量请求.但考虑到没有.我的应用程序中的用户肯定是巨大的,它将达到极限.
我想知道是否有任何方法可以在批处理请求中获取多个用户数据
我试过以下但是没有用
"access_token":"USER_A_ACCESS_TOKEN",batch = [{"method":"GET","access_token":"USER_A_ACCESS_TOKEN","relative_url":"我/朋友"},{"方法":"GET","access_token ":"USER_B_ACCESS_TOKEN","relative_url":"我/朋友"}]
对于userB访问令牌,我也获得用户A访问令牌的结果
我在单个函数中有4-5个fql查询.每个人需要2-4秒才能执行.执行整个功能总共需要14-15秒.用户需要等待很长时间.所以我想减少处理时间.(PHP中没有很好的支持多线程概念.)
我在图api中听说过批量请求的概念.我已经google了很多但是不明白如何在图api中使用批量请求进行fql查询.
facebook facebook-fql facebook-graph-api facebook-php-sdk facebook-batch-request
file_get_contents无法使用批量请求从Facebook获取fata.使用以下代码:
$url='https://graph.facebook.com/?batch=[{ "method": "POST", "relative_url":"method/fql.query?query=SELECT+first_name+from+user+where+uid=12345678"}]& access_token=xxxxxxx&method=post';
echo $post = file_get_contents($url,true);
it produces
Warning: file_get_contents(graph.facebook.com/?batch=[{ "method": "POST", "relative_url": "method/fql.query?query=SELECT+first_name+from+user+where+uid=12345"}]&access_to? ?ken=xxxx&method=post): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /home/user/workspace/fslo/test.php on line 9
Run Code Online (Sandbox Code Playgroud)