Open1
microCMSをphpで読み込む際にコンテンツ数が100を超えた時の対処方法
MicroCMSが9月14日の更新よりAPIリクエストのコンテンツ取得リミットが追加
以下対応用のAPIローダーを記載
$client = new \Microcms\Client(
"", // YOUR_DOMAIN is the XXXX part of XXXX.microcms.io
"" // API Key
);
// APIコンテンツを格納する配列を初期化
$contents = [];
// APIコンテンツ数をすべて取得するまでループ
for ($offset = 0; ; $offset += 100) {
// APIからデータを取得
$result = $client->list("event", [
"limit" => 100,
"offset" => $offset
]);
// 取得したら配列に追加
if ($result != null) {
$re = $result->contents;
$contents = array_merge($contents, json_decode(json_encode($re), true));
}
// APIから取得したデータのオフセットとリミットの合計が、APIコンテンツ数より小さい場合は続ける
if ($result->offset + $result->limit >= $result->totalCount) {
break;
}
}