<aside> 👉 Links (Block base class)

Page

Database

BreadcrumbBlock

ColumnBlock

EquationBlock

Heading3Block

NumberedListItemBlock

SyncedBlock

ToggleBlock

VideoBlock

List

BulletedListItemBlock

ColumnListBlock

FileBlock

ImageBlock

ParagraphBlock

TableOfContentsBlock

ToggleHeading1Block

Block

CalloutBlock

DividerBlock

Heading1Block

LinkPreviewBlock

PdfBlock

TemplateBlock

ToggleHeading2Block

Notion Ruby Mapping Public API Reference

</aside>

<aside> ℹ️ ↑ Table of Contents

</aside>

1. Singleton methods

self.find(id, dry_run: false) → Page

Page.find(id) creates a Page object with retrieving page API. The created object has page information generated from the JSON response.

page = Page.find "c01166c6-13ae-45cb-b968-18b4ef2f5a77"# Notion API call
# => #<NotionRubyMapping::Page:...> # retrieved Page object

Page.find(id, dry_run: true) creates a shell script using Retrieve a page API for verification.

page = Page.find "c01166c6-13ae-45cb-b968-18b4ef2f5a77", dry_run: true
# => 
# #!/bin/sh
# curl  '<https://api.notion.com/v1/pages/c01166c6-13ae-45cb-b968-18b4ef2f5a77>' \\
#   -H 'Notion-Version: 2022-02-22' \\
#   -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \\
#   -H 'Content-Type: application/json'

↑ Table of Contents

2. Instance methods

append_block_children(*blocks, dry_run: false) → Array<Block>, String

append_block_children method of an existing page appends some block objects. Some blocks allow child blocks to be set up at the same time. However, due to API limitations, grandchild blocks cannot be created at once. There are many types of blocks, so check the page( Append block children sample) to see how to create blocks.


parent_page = Page.find "206ffaa277744a99baf593e28730240c"
parent_page.append_block_children CodeBlock.new("% ls -l", caption: "List files")
# => 
# #<NotionRubyMapping::Block:0x00000001064431d8

append_block_children(blocks, dry_run: true) creates a shell script using Append block children API for verification.

parent_page.append_block_children(Block.new.code("% ls -l", caption: "List files"), dry_run: true)
# => "#!/bin/sh\\ncurl -X PATCH '<https://api.notion.com/v1/blocks/206ffaa277744a99baf593e28730240c/children>' \\\\\\n  -H 'Notion-Version: 2022-02-22' \\\\\\n  -H 'Authorization: Bearer '\\"$NOTION_API_KEY\\"'' \\\\\\n  -H 'Content-Type: application/json' \\\\\\n  --data '{\\"children\\":[{\\"type\\":\\"code\\",\\"object\\":\\"block\\",\\"code\\":{\\"rich_text\\":[{\\"type\\":\\"text\\",\\"text\\":{\\"content\\":\\"% ls -l\\",\\"link\\":null},\\"plain_text\\":\\"% ls -l\\",\\"href\\":null}],\\"caption\\":[{\\"type\\":\\"text\\",\\"text\\":{\\"content\\":\\"List files\\",\\"link\\":null},\\"plain_text\\":\\"List files\\",\\"href\\":null}],\\"language\\":\\"shell\\"}}]}'"

↑ Table of Contents