Create a Page の position object : hkob の雑記録 (386)

はじめに

hkob の雑記録の第386回目(通算783日目)は、昨日の Create a page のリファレンスを参照したときに気づいた Create a page の position object について解説します。

Create a page の position object

昨日、作成の Section を改訂していた時に、リファレンスで position object が設定できることに気づきました。昨日の段階では検証できていなかったので、今日のネタに回すことにしました。せっかくなので、このスクリーンショットを解説してもらいましょう。

position object

この引用部分は Notion AI による解説です。

position object とは

position object は、新規作成する子ページを親ページ内のどの位置に挿入するかを指定するパラメータ。親ページが page の場合のみ有効。

type プロパティ

必須の文字列 enum。以下の3つの値を指定可能:

  • after_block - 特定のブロックの後に挿入
  • page_start - ページの先頭に挿入
  • page_end - ページの末尾に挿入

after_block プロパティ

type=after_block を指定した場合、必須の object パラメータ。新規子ページを挿入する位置の基準となるブロックを指定する。

使用例

ページの先頭に挿入:

{
  "position": {
    "type": "page_start"
  }
}

特定ブロックの後に挿入:

{
  "position": {
    "type": "after_block",
    "after_block": {
      "id": "ブロックID"
    }
  }
}

Append block children は after キー値しかなく、ページの一番上にブロックを挿入することができないません。しかし、Create a page の場合には position で page_start を指定できるので、ページの一番上にもページを作成できます。是非、Append block children にも position object を指定できるようにして欲しいですね。

この機能はいつから?

これまでこの変更に気づいていなかったので、いつこれが追加されたのか Notion AI に聞いてみました。最初は私のワークスペースを全部探して、情報は見つからなかったと言ってきました。私が知らないのだから、当然ワークスペースから見つかるわけないですよね。ところで、思考途中で面白い文字列が見えたので、思考結果を開いて確認したのが以下のスクリーンショットです。「このユーザーは Notion API の専門家で、Notion API の活用術の本を書いている方なので、技術的な詳細を求めています。」と出ていました。Notion API 本のデータがある方のワークスペースで聞いたからですね。私のことを理解してくれていてちょっと嬉しかったです。

workspace の検索

当然、ワークスペースからは答えは出ないので、Web で検索してもらいました。すると公式の SDK の更新履歴を調べてくれたようです。確かにこれが一番チェックしやすいところでしたね。流石です。

Web の検索

おわりに

今日は、Create a page API における position object について解説するとともに、このアップデートがいつ行われたのかを確認してみました。こういうことを調べるにも Notion AI は便利に使えますね。明日は、早速この機能を NotionRubyMapping に実装していきます。

hkob.notion.site