はじめに
hkob の雑記録の第370回目(通算767日目)は、新しい Move page API と List data source templates API を紹介します。
Move page API
今日、明日の授業のレジュメ修正のために API Reference を見ていたところ、Pages の Endpoints の欄に Move page という API が誕生していました。ページはこちらです。
この内容を Notion AI にまとめてもらいました。parent を指定するだけで、ページが移動できるようです。
エンドポイント
- メソッド: POST
- URL:
https://api.notion.com/v1/pages/{page_id}/move - 認証: Bearer token + ページ編集権限が必要
パスパラメータ
page_id (必須)
- 移動対象のページID (UUIDv4形式)
- ダッシュあり/なし両対応
- 通常のページのみ対象。データベースやブロックは非対応
ボディパラメータ
parent (必須) - 移動先を指定
パターン1: ページ配下に移動
{ "parent": { "type": "page_id", "page_id": "<<親ページのID>>" } }
page_idには通常のページIDを指定- 例外: 単一データソースのデータベースに限り
database_idも可(非推奨)
パターン2: データベース内に移動
{ "parent": { "type": "data_source_id", "data_source_id": "<<データソースID>>" } }
database_idではなくdata_source_idを使用- データソースIDは Retrieve a database エンドポイントで取得可能
制約事項
- 移動先の親に対する編集権限が必要
- データベース本体の移動は未対応
- 移動元・移動先ともに通常のページまたはデータソースに限定
List data source templates
他にも新しい API があるのではないかと探したところ、Data sources に List data source templates API を発見しました。ページはこちらです。
こちらも Notion AI にまとめてもらいました。よくまとめられていますね。先日、Create a page API の際にテンプレートを指定できるようになったので、それに合わせた更新だったようですね。アプリ側からテンプレートを選択させるような応用が考えられますね。
エンドポイント
- メソッド: GET
- URL:
https://api.notion.com/v1/data_sources/{data_source_id}/templates - 認証: Bearer token + データソースへのアクセス権が必要
パスパラメータ
data_source_id (必須)
- テンプレート一覧を取得するデータソースのID (UUIDv4形式)
レスポンス
templates キーに配列形式で最大100件の結果を返す。各要素の構造:
id: テンプレートのID (UUIDv4形式)name: テンプレートの表示名is_default: そのテンプレートがデータソースのデフォルトかどうか (Boolean)
ページネーション
- テンプレート数がレスポンス上限を超える場合、
has_moreがtrueになる next_cursorに次のテンプレートIDがセットされる- 次のリクエストで
start_cursorとして使用可能
補足
- 指定した
data_source_id配下のテンプレートのみ返却 - ボットがデータソースの親データベースに接続されていれば、通常は子テンプレートへのアクセスも可能
- テンプレートは有効な Notion ページなので、Retrieve a page API で詳細取得可能
- テンプレートIDは Notion アプリでテンプレートを開き、URLをコピーして取得することも可能
おわりに
今回は、時間の都合もあってかなり Notion AI にページの大部分を生成してもらいました。このような情報の抜粋であれば、AI の利用も有用ですね。なるべく手間を減らせるようにしていきたいと思います。