我对编程很陌生,我目前正在尝试使用Facebook的InsightsAPI来提取我们的性能数据。问题是API调用的响应限制为25个条目。
我使用以下代码进行通话:
String access_token = "xxx";
String ad_account_id = "yyy";
setApp_secret("zzz");
APIContext context = new APIContext(access_token).enableDebug(false);
APINodeList<AdsInsights> response = new AdAccount(ad_account_id, context).getInsights()
.setLevel(AdsInsights.EnumLevel.VALUE_CAMPAIGN)
.setBreakdowns(Arrays.asList(AdsInsights.EnumBreakdowns.VALUE_COUNTRY))
.setTimeRange("{\"since\":\"2017-09-01\",\"until\":\"2017-09-30\"}")
.requestField("account_id")
.requestField("campaign_id")
.requestField("impressions")
.requestField("clicks")
.execute();
如何扩展响应限制?我发现了一些关于如何通过curl执行此操作的信息,但是没有关于如何使用java执行此操作的提示。如果有人能帮助我,那就太好了!
一切顺利, 保罗
答案 0 :(得分:2)
Graph API的所有响应都是分页的,这意味着您最多可以得到x&#39; x&#39;结果数量&#39; x&#39;目前默认为25。
您可以使用limit
参数指定更高的值,但不建议这样做,因为它可能会导致超时。
您应该考虑使用分页:https://developers.facebook.com/docs/graph-api/using-graph-api/#paging