HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📌
hkob's Notion
/
NotionRubyMapping idea note
NotionRubyMapping idea note
/
Notion Ruby Mapping Public API Reference
Notion Ruby Mapping Public API Reference
/
🧱
VideoBlock
🧱

VideoBlock

👉
Links (Block base class)
🧱
Page
🧱
BookmarkBlock
🧱
CodeBlock
🧱
EmbedBlock
🧱
Heading2Block
🧱
LinkToPageBlock
🧱
QuoteBlock
🧱
ToDoBlock
🧱
ToggleHeading3Block
🧱
Database
🧱
BreadcrumbBlock
🧱
ColumnBlock
🧱
EquationBlock
🧱
Heading3Block
🧱
NumberedListItemBlock
🧱
SyncedBlock
🧱
ToggleBlock
🧱
VideoBlock
🧱
List
🧱
BulletedListItemBlock
🧱
ColumnListBlock
🧱
FileBlock
🧱
ImageBlock
🧱
ParagraphBlock
🧱
TableOfContentsBlock
🧱
ToggleHeading1Block
🧱
Block
🧱
CalloutBlock
🧱
DividerBlock
🧱
Heading1Block
🧱
LinkPreviewBlock
🧱
PdfBlock
🧱
TemplateBlock (Deprecated)
🧱
ToggleHeading2Block
Notion Ruby Mapping Public API Reference
Notion Ruby Mapping Public API Reference

1. Class methods

self.new(url_or_fuo, caption: []) →
🧱
VideoBlock

  • [PARAM] url_or_fuo url (String) or file upload object (FileUploadObject)
  • [PARAM(optional)] caption
    • 📃
      The following objects are used for this argument.
      • a String like as “text” (String)
      • an Array of Strings (Array of Strings)
      • a RichTextObject (RichTextObject)
      • an Array of RichTextObjects (Array of RichTextObjects)
      • a RichTextArray (RichTextArray)
self.new creates a VideoBlock object using a url. caption is an optional parameter. Currently, an external file url can be used.

2. Instance methods

save(dry_run: false)

  • [PARAM] dry_run: true if you want to create a verification script
save updates the Block object with update block API. The updated object has block information generated from the JSON response.
Block.find(id, dry_run: true) creates a shell script using Retrieve a block API for verification.

caption →
🎛️
RichTextArray

caption returns the RichTextArray object for VideoBlock.

file_upload_object → FileUploadObject

file_upload_object returns an object for FileUploadObject.

file_upload_object=(file_upload_object)

file_upload_object= updates a FileUploadObject for FileBlock and sets update_block_key of the payload object.

url → String

url returns the url parameter of VideoBlock.

url=(str)

  • [PARAM] str url str
url= updates the url parameter of block for VideoBlock and sets update_block_key of the payload object.
b = VideoBlock.new "a_url", caption: "Sample url" b.block_json # => {"type"=>"video", "object"=>"block", "video"=>{"type"=>"external", "external"=>{"url"=>"a_url"}, "caption"=>[{"type"=>"text", "text"=>{"content"=>"Sample url", "link"=>nil}, "plain_text"=>"Sample url", "href"=>nil}]}} fuo = FileUploadObject fname: "test.png" b = VideoBlock.new fuo, caption: "test image"; b.block_json # => {"type"=>"video", "object"=>"block", "video"=>{"type"=>"file_upload", "file_upload"=>{"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXX"}}}
block = Block.find "899e342cec84415f9ff86225704cbb75" # Notion API call block.url = "https://www.apple.com/" block.save # => #<NotionRubyMapping::Block:...> # updated Block object
block = Block.find "899e342cec84415f9ff86225704cbb75" # Notion API call block.url = "https://www.apple.com/" block.save dry_run: true # => # curl -X PATCH 'https://api.notion.com/v1/blocks/899e342cec84415f9ff86225704cbb75' \ # -H 'Notion-Version: 2022-02-22' \ # -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \ # -H 'Content-Type: application/json' \ # --data '{"bookmark":{"url":"https://www.apple.com/"}}'
b = VideoBlock.new "a_url", caption: "Sample url" => #<NotionRubyMapping::RichTextArray:...>
fuo = FileUploadObject fname: "test.png" b = VideoBlock.new fuo, caption: "test image"; b.file_upload_object # => NotionRubyMapping::FileUploadObject-XXXXXXXXXXXXXXXXXXXXXXXXXX
b = VideoBlock.new "a_url", caption: "Sample url"; b.url fuo = FileUploadObject fname: "test.png" b.file_upload_object = fuo # => NotionRubyMapping::FileUploadObject-XXXXXXXXXXXXXXXXXXXXXXXXXX
b = VideoBlock.new "a_url", caption: "Sample url" # => "a_url"
b = VideoBlock.new "a_url", caption: "Sample url" b.url = "new_url" b.update_block_json # => {"video"=>{"external"=>{"url"=>"new_url"}}}