microCMS

microcms-js-sdkにコンテンツ全件取得のためのメソッドを追加しました

下津曲 浩

この記事は公開後、1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!カスタマーエンジニアの下津曲です。

この度、microcms-js-sdkのv2.6.0/v.2.7.0で、コンテンツの全件取得用のメソッドが追加されましたので、本日はそのお知らせとなります!

メソッドの概要

今回追加されたメソッドは以下の2つです。以下でそれぞれについてご紹介します。

  • getAllContentIdsv2.6.0 からご利用可能)
  • getAllContentsv2.7.0 からご利用可能)

getAllContentIds

指定したエンドポイントに含まれるコンテンツのコンテンツIDを全件取得するメソッドです。
filtersdraftKey といったパラメータを利用することも可能です。使い方の詳細は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

指定したエンドポイントに含まれるコンテンツを全件取得するメソッドです。
filtersorders といった、通常の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の機能追加のご要望やフィードバックなどに関しましては、画面右下のチャット欄よりお気軽にご連絡ください。

まずは、無料で試してみましょう。

APIベースの日本製ヘッドレスCMS「microCMS」を使えば、 ものの数分でAPIの作成ができます。

microCMSを無料で始める

microCMSについてお問い合わせ

初期費用無料・14日間の無料トライアル付き。ご不明な点はお気軽にお問い合わせください。

お問い合わせ

microCMS公式アカウント

microCMSは各公式アカウントで最新情報をお届けしています。
フォローよろしくお願いします。

  • X
  • Discord
  • github

ABOUT ME

下津曲 浩
Web編集者、フロントエンドエンジニアを経て、現在はmicroCMSでカスタマーエンジニアを担当しています。趣味は格闘技観戦とアメフト観戦。