はじめに
hkob の雑記録の第384回目(通算780日目)は、NotionAPI活用術の改訂作業として、Section-015 の更新の節に先日 NotionRubyMapping で実装した move page の説明を追加していきます。
テンプレートの作成
説明を記載する前に作業用のテンプレートを用意します。まず、移動元のページを準備し、その page_id から URL を作成してもらいます。

次に move page の payload になる parent キーオブジェクトを作成します。そのために、移動先のページを用意して、そこから payload を作成してもらいます。

ページへの移動はこれで完成です。同じようにデータベースを準備して、data_source_id から payload を作ってもらいます。

本の内容を記述
このテンプレートを受けて本文を記載しましょう。以下のように記載しました。
2025年の12月にページを移動する Move page API が用意されました。こちらで説明されています。
Move page の SCHEME は Retrieve a page の後ろに
/moveが追加されたものになっています。メソッドが POST になります。この page_id は移動したいページの page_id です。https://api.notion.com/v1/pages/{page_id}/move移動先としては、ページの下とデータソースの下のどちらかを選択できます。以前説明したように全てのブロックはブロックを親として持つのですが、move はこの親を変更する作業に相当します。ページの下に移動する場合の payload は以下のようになります。
{ "parent": { "type": "page_id", "page_id": "page_id" } }一方、データソースの下に移動する場合の payload は以下のようになります。
{ "parent": { "type": "data_source_id", "data_source_id": "data_source_id" } }配布したテンプレートに移動元のページ・移動先のページ・移動先のデータベースを用意したので、試してみてください。
おわりに
これで Section-015 の更新が全て終わりました。次は Section-016 の作成に進みます。ここもデータベースからデータソースへの変更が大きな変更点になります。