Facebook のスプリング ソーシャル フレームワークを使用して、Facebook ビジネス アカウントのすべてのマーケティング アカウントを取得しようとしています。
- 以下で行ったこと以外に、より良い方法があるかどうか知りたいですか?
- クエリ結果をページングするために私がしたことは正しい方法ですか?
- Facebook Marketing API からデータを取得する別の方法はありますか?
あなたが提供できる助けに本当に感謝します。
public List<String> getListAdAccountsId(String businessAccountId) {
final List<String> accountsId = new ArrayList<String>();
final MultiValueMap<String, String> queryParameters = new LinkedMultiValueMap<String, String>();
queryParameters.add("fields", "account_id");
queryParameters.add("offset", "0");
PagedList<Map> pagedResultSubSet = facebook.fetchConnections(businessAccountId, "adaccounts", Map.class,
queryParameters);
do {
queryParameters.set("offset", pagedResultSubSet.getNextPage().getOffset().toString());
pagedResultSubSet = facebook.fetchConnections(businessAccountId, "adaccounts", Map.class, queryParameters);
accountsId.addAll(pagedResultSubSet.parallelStream().map(e -> e.get("id").toString())
.collect(Collectors.toList()));
} while (pagedResultSubSet.getNextPage() != null);
return accountsId;
}