こんにちは!カスタマーエンジニアの下津曲です。
この度、microcms-js-sdkのv2.6.0/v.2.7.0で、コンテンツの全件取得用のメソッドが追加されましたので、本日はそのお知らせとなります!
メソッドの概要
今回追加されたメソッドは以下の2つです。以下でそれぞれについてご紹介します。
getAllContentIds
指定したエンドポイントに含まれるコンテンツのコンテンツIDを全件取得するメソッドです。filters
や draftKey
といったパラメータを利用することも可能です。使い方の詳細はREADMEをご覧ください。
▼ご利用イメージ
const client = createClient({
serviceDomain: "some-domain",
apiKey: "XXXX",
});
client.getAllContentIds({
endpoint: "blogs",
})
.then((res) => console.log(res))
.catch((err) => console.error(err));
▼レスポンスの例
[ '0p7b9tosc', '7lfyaniba', 'svf3ok_5j9l' ]
getAllContents
指定したエンドポイントに含まれるコンテンツを全件取得するメソッドです。filters
や orders
といった、通常のGET APIのリクエストで用意されているクエリパラメータをご利用いただくことも可能です(limit
, offset
, ids
は除く)。使い方の詳細はREADMEをご覧ください。
▼ご利用イメージ
const client = createClient({
serviceDomain: "some-domain",
apiKey: "XXXX",
});
client.getAllContents({
endpoint: "categories",
})
.then((res) => console.log(res))
.catch((err) => console.error(err));
▼レスポンスの例
[
{
id: 'ny7ajew5f3',
createdAt: '2023-10-20T02:04:30.460Z',
updatedAt: '2023-10-20T02:04:30.460Z',
publishedAt: '2023-10-20T02:04:30.460Z',
revisedAt: '2023-10-20T02:04:30.460Z',
name: 'チュートリアル'
},
{
id: 'ygiytcoj-b',
createdAt: '2023-10-20T02:04:30.440Z',
updatedAt: '2023-10-20T02:04:30.440Z',
publishedAt: '2023-10-20T02:04:30.440Z',
revisedAt: '2023-10-20T02:04:30.440Z',
name: '更新情報'
},
{
id: 'nfc8ra9020zi',
createdAt: '2023-10-20T02:04:30.318Z',
updatedAt: '2023-10-20T02:04:30.318Z',
publishedAt: '2023-10-20T02:04:30.318Z',
revisedAt: '2023-10-20T02:04:30.318Z',
name: 'テクノロジー'
}
]
追加に至った背景について
前提として、「【要対応】APIのリクエスト制限強化等の仕様変更のお知らせ」の記事でもお知らせしましたとおり、システムの安定性向上のために2023年10月2日(月)に新規作成されたサービスにおいて、limitパラメータの上限を100件とするように変更いたしました(それ以前に作成されたサービスについても、レスポンスサイズの制約の関係で、分割してデータを取得することを推奨しています)。
そこで、101件以上のコンテンツの取得が必要な場合において、その実装の負担を軽減する目的も合わせ、この度microcms-js-sdkにてコンテンツ全件取得のためのメソッドをご提供する運びとなりました。
関連ヘルプ:101件以上のコンテンツを取得するにはどうしたらよいですか?
まとめ
これらのメソッドを使えば、例えばWebサイトのサイトマップやRSSフィードを作成する場合にお手軽に実装いただけるようになります。また、コンテンツに紐づくタグやカテゴリの一覧などlimitを気にせずコンテンツをすべて取得し、表示したい場合などにも有効でしょう。
ブログ執筆時のmicrocms-js-sdkの最新バージョンはv.2.7.0ですので、こちらにアップグレードしていただけると、すぐにご利用いただけます。ぜひお試しください!
また、SDKの機能追加のご要望やフィードバックなどに関しましては、画面右下のチャット欄よりお気軽にご連絡ください。