Move page API と List data source templates API : hkob の雑記録 (370)

はじめに

hkob の雑記録の第370回目(通算767日目)は、新しい Move page API と List data source templates API を紹介します。

Move page API

今日、明日の授業のレジュメ修正のために API Reference を見ていたところ、Pages の Endpoints の欄に Move page という API が誕生していました。ページはこちらです。

この内容を Notion AI にまとめてもらいました。parent を指定するだけで、ページが移動できるようです。

エンドポイント

パスパラメータ

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 の際にテンプレートを指定できるようになったので、それに合わせた更新だったようですね。アプリ側からテンプレートを選択させるような応用が考えられますね。

エンドポイント

パスパラメータ

data_source_id (必須)

  • テンプレート一覧を取得するデータソースのID (UUIDv4形式)

レスポンス

templates キーに配列形式で最大100件の結果を返す。各要素の構造:

  • id: テンプレートのID (UUIDv4形式)
  • name: テンプレートの表示名
  • is_default: そのテンプレートがデータソースのデフォルトかどうか (Boolean)

ページネーション

  • テンプレート数がレスポンス上限を超える場合、has_moretrue になる
  • next_cursor に次のテンプレートIDがセットされる
  • 次のリクエストで start_cursor として使用可能

補足

  • 指定した data_source_id 配下のテンプレートのみ返却
  • ボットがデータソースの親データベースに接続されていれば、通常は子テンプレートへのアクセスも可能
  • テンプレートは有効な Notion ページなので、Retrieve a page API で詳細取得可能
  • テンプレートIDは Notion アプリでテンプレートを開き、URLをコピーして取得することも可能

おわりに

今回は、時間の都合もあってかなり Notion AI にページの大部分を生成してもらいました。このような情報の抜粋であれば、AI の利用も有用ですね。なるべく手間を減らせるようにしていきたいと思います。

hkob.notion.site