はじめに
Notion APIの正式リリースからもうすぐで二年を迎えます。
リリースされてから様々な機能が追加されましたが、今回はNotion APIを利用してYouTubeやVimeoの動画を埋め込む方法を紹介します。
事前準備
今回は以下のステップでNotion APIの環境を構築しました。
- 「my-integrations」のページからAPIキーを発行
- APIで操作したいNotionのページの「Connections」>「Add connections」から先程作成したインテグレーションを追加
- 操作したいページのURLからブロックIDを取得
詳細は以前執筆した以下の記事や公式のガイドをご確認ください。
Notion APIでYouTubeの動画を埋め込む
早速Notion APIでYouTubeの動画を埋め込んでみましょう。
block_id
と $NOTION_API_KEY
はそれぞれの環境に合わせて設定してください。
curl -X PATCH 'https://api.notion.com/v1/blocks/{block_id}/children' \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Content-Type: application/json" \
-H "Notion-Version: 2022-06-28" \
--data '{
"children": [
{
"type": "video",
"video": {
"type": "external",
"external": {
"url": "https://www.youtube.com/watch?v=CpqhPcswA1Q"
}
}
}
]
}'
ブロックのタイプは "type": "video"
で指定し、 external
の url
でYouTubeのURLを指定します。
YouTubeのURLは以下の形式を指定することで埋め込まれることを確認しました。
https://www.youtube.com/watch?v=[id]
https://www.youtube.com/embed/[id]
「2023年12月 APIテスト用」というNotionのページに対してcurlを実行すると、以下のキャプチャのようにYouTube動画が埋め込まれました。
Notion APIでVimeoの動画を埋め込む
動画の埋め込みは先ほど紹介した "type": "video"
が基本ですが、Vimeoの埋め込みに関してはこの記事を執筆している2023年12月時点ではvideoブロックをサポートしていないため、以下のように別の方法で埋め込む必要があります。
curl -X PATCH 'https://api.notion.com/v1/blocks/{block_id}/children' \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Content-Type: application/json" \
-H "Notion-Version: 2022-06-28" \
--data '{
"children": [
{
"embed": {
"url": "https://player.vimeo.com/video/783455051"
}
}
]
}'
YouTube動画の場合はvideoブロックを使用しましたが、Vimeoの場合はembed
でURLを指定することで動画を埋め込むことが可能です。
VimeoのURLは https://vimeo.com/〜
ではなく、https://player.vimeo.com/video/〜
の形式を指定しました。
curlコマンドを実行すると先程のYouTube動画の下の部分にVimeoの動画が埋め込まれました。
まとめ
今回はNotion APIを使った動画の埋め込みに関して紹介しました。
動画の埋め込みは基本的にはvideoブロックを指定し、Vimeoの場合はembedブロックを使うことで動画を埋め込むことができました。
それぞれの詳細は以下のドキュメントも参考にしてください。
告知
明日はM.Hさんによる「Stable DiffusionのSDXL1.0モデルと拡張機能のあれこれ」です。
引き続き、GMOアドマーケティング Advent Calendar 2023 をお楽しみください!