はじめに
hkob の雑記録の第386回目(通算783日目)は、昨日の Create a page のリファレンスを参照したときに気づいた Create a page の position object について解説します。
Create a page の position object
昨日、作成の Section を改訂していた時に、リファレンスで 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 本のデータがある方のワークスペースで聞いたからですね。私のことを理解してくれていてちょっと嬉しかったです。

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

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