Notion API 活用術 改訂作業(7) : hkob の雑記録 (342)

はじめに

hkob の雑記録の第342回目は、Section-009 の Rich text object 以降の修正を行なっていきます。本記事は2025年ユカスタマスの8日目(2023年ユカスタマスの739日目)の記事になります。

P.39 Rich text object

最近のリファレンスでは、Rich text object の annotations の部分を「Annotation object」と説明しています。以前は名前がついていなかったので、単にオブジェクトと記載していましたが、この表記を追加しました。この最後の部分に「最近、本家のリファレンスではこの "annotations" 以下のオブジェクトを Annotation object と呼ぶようになりました。以下ではこの部分を Annotation object と表記します。」という文を追記しました。

P.39 Text object

Text object の部分で Annotation object の説明をしています。これまで "annotation" キーオブジェクトと呼んでいた部分を Annotation object と書き換えます。また、P.41 の色の部分に以下の文章を追記しました。

以前の Notion では文字色の設定と背景色の設定は排他で、どちらかしか設定できませんでした。最近は Paragraph block など一部の色設定において文字色・背景色を両方設定できるようになっています。ただし、Notion API ではどちらか片方しか取得・設定できません。

P.42 Equation object

ここも block_id のみ修正しています。

P.43 Mention object

ここも block_id は修正しています。また、リファレンスでは、 User mentions object などの表記が User mention type object に変更になっています。本文中でもそれらを修正します。

P.47 Comment object

ここも block_id の修正を行なっています。また、CommentObject の JSON の返り値に display_name が追加されていました。resolved_name は CommentObject のメソッドに追加してもよさそうです。

# block を取得
b = Block.find "コピーしたリンクをここに貼り付け"
=> NotionRubyMapping::ParagraphBlock-2bcd8e4e98ab8144baa8f8863cb63baf

# DiscussionThread object を取得
dt = b.comments.values.first
=> 
#<NotionRubyMapping::DiscussionThread:0x0000000125248dc8
...

# DiscussionThread object の最初のコメントを取得
comment = dt.comments.first
=> 
#<NotionRubyMapping::CommentObject:0x0000000125248fd0
...

# Comment object を表示
print JSON.pretty_generate(comment.json)
{
  "object": "comment",                              
  "id": "2c2d8e4e-98ab-8085-9ba7-001d771e1606",     
  "parent": {                                       
    "type": "block_id",                             
    "block_id": "2bcd8e4e-98ab-8144-baa8-f8863cb63baf"
  },
  "discussion_id": "2c2d8e4e-98ab-802c-9464-001cdf420705",
  "created_time": "2025-12-07T05:56:00.000Z",
  "last_edited_time": "2025-12-07T05:56:00.000Z",
  "created_by": {
    "object": "user",
    "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6"
  },
  "rich_text": [
    {
      "type": "text",
      "text": {
        "content": "テストコメント",
        "link": null
      },
      "annotations": {
        "bold": false,
        "italic": false,
        "strikethrough": false,
        "underline": false,
        "code": false,
        "color": "default"
      },
      "plain_text": "テストコメント",
      "href": null
    }
  ],
  "display_name": {
    "type": "user",
    "resolved_name": "Hiroyuki KOBAYASHI"
  }
}=> nil

これに合わせて、省略表記も以下のように変更しています。

{
  "object": "comment",
  "id": "2c2d8e4e-98ab-8085-9ba7-001d771e1606",
  "parent": {Parent object(page_id)},
  "discussion_id": "2c2d8e4e-98ab-802c-9464-001cdf420705",
  "created_time": "2025-12-07T05:56:00.000Z",
  "last_edited_time": "2025-12-07T05:56:00.000Z",
  "created_by": {User object(idのみ)},
  "rich_text": [Rich text object 配列(テストコメント)],
  "display_name": {User object(resolved_nameのみ)}
}

おわりに

今回で Section-009 までが完了しました。次はいよいよブロック要素になります。ここは DataSource の追加などかなり大きな修正が入りそうです。

hkob.notion.site