Movable Type, JavaScript) Data API を使ってコメントをする

Movable Type, JavaScript) Data API を使ってコメントをする

どうもお久しぶりですfujiharaです。弊社は最近引っ越しをしたのですが、最寄り駅が日本大通りという駅になりました。 名前の由来とかは全くわからないのですが、大それた名前じゃんと毎回思っています。
本日はMovable Type Data APIでコメントをする方法をお伝えします。

背景

フロントからコメントをする場合にはMTの通常機能でもできるのですが、コメントのカスタムフィールドも更新したかったため Data APIを使用しました。

仕様

こちらになります。 前回ご紹介した投稿時と基本は同じです。

コード


//記事基本データ
const postComment = {
  body: 'body',
  customFields: []
 };

//カスタムフィールド設定
postComment.customFields.push({
   'basename': '{カスタムフィールドの値}',
   'value': '{カスタムフィールドに入れる値}'
});

//記事作成処理
const body = new FormData();
body.append('comment', JSON.stringify(postComment));
// コメントする記事のsite_id, entry_id が必要になります
// 例:  /mt/mt-data-api.cgi/v4/sites/10/entries/101/comments
const result = fetch({path_to_data_api/sites/{site_id}/entries/{entry_id}/comments}, {
  method: 'post',
  body: body,
  headers: {
    'X-MT-Authorization': `MTAuth accessToken={DataAPIアクセストークン}`
  }
})
  .then(res => res.json())
  .then(json => !json.error);

まとめ

これでコメントをData APIで保存することができました。
一点注意ですが、このコメントを書き込むユーザーに権限を与えすぎないように注意下さい。コメントさえ書き込められば良いので、 システムでのユーザー作成には以下で(Data APIでのサインインのみ)

20201030_fujiwara_2.png

またブログでのユーザー権限はコメント投稿者のみにしておくことにご注意下さい。

20201030_fujiwara_1.png
  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ