こんにちは!更新情報のお知らせです。
API経由でコンテンツの作成者を変更できるようになりました。
microCMSにはコンテンツを扱う「コンテンツAPI」と管理画面内の操作を扱う「マネジメントAPI」の2種類のAPIがありますが、今回の変更はマネジメントAPIでご利用いただけます。
この記事では基本的な使い方についてご紹介します。
APIの詳細については、ドキュメントの「PATCH /api/v1/contents/{endpoint}/{content_id}/createdBy」をご覧ください。
コンテンツ作成者変更APIについて
新しく追加されたリクエストは PATCH /api/v1/contents/{endpoint}/{content_id}/createdBy
です。endpoint
には対象のAPIのIDを、content_id
にはコンテンツIDを指定します。
リクエストボディで createdBy
にメンバーIDを指定することで、コンテンツの作成者を任意のユーザーに変更できます。
利用方法
APIキーに権限を付与する
コンテンツ作成者変更をAPIから利用するためには、APIキーに新たに権限を付与する必要があります。
管理画面のAPIキー設定より、「コンテンツの作成者を変更」の権限を追加します。
API経由でコンテンツの作成者を変更する
curlコマンドを利用する場合、以下のようなリクエストを送ってください。
(API_KEY、SERVICE_ID、ENDPOINT、CONTENT_ID、MEMBER_IDはご自身のものに差し替えてください)
curl -X PATCH -H 'X-MICROCMS-API-KEY: <API_KEY>' -H 'Content-Type: application/json' https://<SERVICE_ID>.microcms-management.io/api/v1/contents/<ENDPOINT>/<CONTENT_ID>/createdBy -d '{"createdBy": "<MEMBER_ID>"}'
作成者の変更に成功するとステータスコード200が返却されます。
リクエストボディのcreatedBy
で指定しているのが作成者として指定したいメンバーのIDです。
次のセクションでメンバーIDの確認方法を紹介します。
メンバーIDの確認方法
メンバーIDの確認方法は次の2通りです。
1. 管理画面のメンバー詳細画面から確認する
管理画面でメンバーの詳細画面を開きます。
メンバー名の下に表示されているIDが「メンバーID」です。この値を使ってどのメンバーを対象とするかを指定できます。
2. マネジメントAPIから確認する
コンテンツのメタ情報取得APIにリクエストすると、そのコンテンツの作成者のメンバーIDが取得できます。
- コンテンツのメタ情報一覧取得API(
GET /api/v1/contents/{endpoint}
) - コンテンツのメタ情報詳細取得API(
GET /api/v1/contents/{endpoint}/{content_id}
)
レスポンスの createdBy
に作成者のメンバーIDが、updatedBy
に最終更新者のメンバーIDが入っています。
名前やメールアドレスなどのアカウント情報は含まれていませんので、該当するメンバーIDがどのメンバーのものかは、管理画面と照らしあわせるなどしてご確認してください。
ユースケース
コンテンツ作成者変更APIは以下のようなシーンで便利にお使いいただけます。
異動や退職などにより、コンテンツの担当者が変わるとき
microCMSには権限管理の仕組みがあり、コンテンツ作成者のロールを使うことでより詳細な制御ができます。
例えば「渋谷店」というロールがあったとして、このロールが付与されているメンバー同士でのみお互いのコンテンツを管理画面上で閲覧できる、などのワークフローを構築できます。
このような運用をしているとき、特定のメンバーが他店舗に異動する場合に、コンテンツの作成者を一括で変更する必要が発生します。
APIで一括で変更できるようになったため、運用がより楽になります(管理画面上ではこれまでも可能)。
APIで担当者を変更する具体例
メンバーAが異動になり、メンバーAが作成したすべてのコンテンツの作成者をメンバーBに変更するステップを考えます。
まず、コンテンツのメタ情報一覧取得API を利用してコンテンツを全件取得し、そこからメンバーAが作成者になっているコンテンツIDのリストを抽出します。
コンテンツIDのリストをループ文で回し、メンバーBのメンバーIDを指定してコンテンツ作成者変更APIをリクエストします。
このようなスクリプトを用意することで、作成者の変更を一括で実行できます。
APIから一括でコンテンツを入稿したあと、コンテンツの作成者を変更したいとき
大量のコンテンツを一括で入稿する場合、管理画面でひとつひとつ入稿するのは大変です。
その場合に便利なのがAPI経由でのコンテンツ入稿です。APIを使えば、例えば他のシステムからのコンテンツの引っ越しなども簡単に実装できます。
APIからコンテンツを入稿した場合、コンテンツの作成者は「API」として登録されます。
前述のロールを用いた権限管理を実現するために、この作成者を適宜該当メンバーに変更していく必要があります。
API経由で作成者変更できることで、「APIで入稿→作成者変更」の流れを柔軟に組むことができるようになりました。
おわりに
今回はコンテンツ作成者の変更がAPI経由でできるようになったアップデートでした。
より使いやすいサービスを目指してAPI、管理画面ともに改善してまいります。ご要望などございましたら管理画面右下のチャットボタンよりご意見いただけますと幸いです。