microCMS で管理しているコンテンツとメディア(画像・ファイル)を取得し、保存するツールです。
- 非公式ツールです。利用にあたっては、自己責任にてお願いいたします。
- 一部は動作保証のないベータ版の機能であるマネジメントAPI (https://document.microcms.io/management-api/get-media) を利用しています。
- 利用するAPIキーには、あらかじめ適切な権限付与が必要です。詳しくは API キーのドキュメント (https://document.microcms.io/content-api/x-microcms-api-key) を確認してください。
- APIキーの秘匿等の考慮はされていないため、取り扱いにはご注意ください。
- ルートディレクトリに、
config.json
を作成し、必要情報を設定してください。 - バックアップ対象のサービスにおいて、適切なAPIキーの権限付与を行います。
- ルートディレクトリにて、
go run .
を実行します。 backup
フォルダの中に、指定したデータのバックアップファイルが保存されます。
config.json
{
"target": "all",
"serviceId": "xxxxxxxxxx",
"contents": {
"getPublishContentsAPIKey": "xxxxxxxxxxxxxxxxxxxxxxxx",
"getAllStatusContentsAPIKey": "xxxxxxxxxxxxxxxxxxxxxxxx",
"getContentsMetaDataAPIKey": "xxxxxxxxxxxxxxxxxxxxxxxx",
"endpoints": ["hoge", "fuga"],
"requestUnit": 100,
"classifyByStatus": true,
"saveAsCSV": false
},
"media": {
"apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
設定されたサービスに対してバックアップを実施します。
target
は、以下の 3 項目より選択してください。
all
: コンテンツとメディアcontents
: コンテンツのみmedia
: メディアのみ
contents.getPublishContentsAPIKey
- 公開中のみのコンテンツのGET権限を付与してください
- 公開中コンテンツの取得に使用
contents.getAllStatusContentsAPIKey
- 公開中、下書き、公開終了のコンテンツのGET権限を付与してください
- 全ステータスのコンテンツ取得に使用
contents.getContentsMetaDataAPIKey
- コンテンツのメタデータのGET権限を付与してください
- コンテンツのステータス情報取得に使用
media.getMediaAPIKey
- メディアのGET権限を付与してください
- メディアファイルの取得に使用
コンテンツはステータスごとに分類されて保存されます。
- コンテンツは個別のJSONファイルとして保存されます
- コンテンツは1つのCSVファイルとして保存されます
- ネストされたJSONオブジェクトや配列は文字列として保存されます
- ファイル名は
contents.csv
となります
コンテンツは1つのファイルとして保存されます。
- コンテンツは個別のJSONファイルとして保存されます
- コンテンツは1つのCSVファイルとして保存されます
- ネストされたJSONオブジェクトや配列は文字列として保存されます
- ファイル名は
contents.csv
となります