RORK LABEN
DEADLINE — Google Play は2026年8月31日以降、新規アプリと既存アプリの更新の双方に対象 API レベル36(Android 16)以上を要求します。残り13日ですEXTENSION — 期限に間に合わない場合は Play Console の期限延長フォームから申請することで11月1日まで配信を継続できます。延長は自動ではなく、申請自体を期限内に行う必要がありますTARGET SDK — Rork などのビルダーが出力する Expo / React Native アプリでも targetSdkVersion は自分で確認が必要です。テンプレートが古い SDK に固定されていると生成しただけでは要件を満たしませんPOLICY — スパムと最低限の機能に関するポリシーが改定され、高品質な機能とコンテンツ体験が求められます。薄いアプリを量産する運用は正面から影響を受ける領域ですPRIVACY — 収集するデータの項目・用途・第三者への共有の有無について詳細な説明が求められます。ビルダーが自動で組み込む解析 SDK や広告 ID も申告の対象ですRORK — 従来の Rork が React Native / Expo を出力するのに対し、Rork Max は SwiftUI を生成します。無料枠から始められ、有料プランは月25ドルからですDEADLINE — Google Play は2026年8月31日以降、新規アプリと既存アプリの更新の双方に対象 API レベル36(Android 16)以上を要求します。残り13日ですEXTENSION — 期限に間に合わない場合は Play Console の期限延長フォームから申請することで11月1日まで配信を継続できます。延長は自動ではなく、申請自体を期限内に行う必要がありますTARGET SDK — Rork などのビルダーが出力する Expo / React Native アプリでも targetSdkVersion は自分で確認が必要です。テンプレートが古い SDK に固定されていると生成しただけでは要件を満たしませんPOLICY — スパムと最低限の機能に関するポリシーが改定され、高品質な機能とコンテンツ体験が求められます。薄いアプリを量産する運用は正面から影響を受ける領域ですPRIVACY — 収集するデータの項目・用途・第三者への共有の有無について詳細な説明が求められます。ビルダーが自動で組み込む解析 SDK や広告 ID も申告の対象ですRORK — 従来の Rork が React Native / Expo を出力するのに対し、Rork Max は SwiftUI を生成します。無料枠から始められ、有料プランは月25ドルからです
記事一覧/開発ツール
開発ツール/2026-04-23上級

Rork × Notion API で CMS 駆動アプリを作る実装ガイド — 認証・ブロック描画・レート制限・画像URLの運用まで

Rork で作るアプリの裏側を Notion にする。認証方式の選び方、ブロック構造の安全な描画、1時間で切れる画像URL問題、API レート制限への向き合い方まで、本番運用に耐える設計をひとつずつ組み立てます。

Notion APIRork535CMSコンテンツ管理OAuth2React Native227キャッシュ3レート制限3

プレミアム記事

Rork で作ったアプリに「記事」「レシピ」「学習コンテンツ」のような読み物を載せたくなったとき、最初に悩むのがバックエンドの置き場所ではないでしょうか。Firestore にゼロから作るのは重い、Supabase を立てるとサーバー管理が増える、Sanity や Contentful は使いこなすほどの分量が出ないかもしれない — そんな「ちょうどいい規模のアプリ」に、私はここ数年ずっと Notion を裏側に据えてきました。

Notion の良さは明快です。編集画面が誰にでも使えるうえに、タイトル・本文・タグ・公開フラグといった「記事らしいフィールド」がそのまま自然に組み立てられます。執筆は Notion アプリ、表示は Rork で生成したモバイルアプリ — この分業は、個人開発者が「書く・直す・出す」サイクルを自分ひとりで回すうえで驚くほどストレスが少ないのです。

ただし、Notion API には本番で使うときに気をつけたいクセが3つあります。画像 URL が1時間で失効する、リクエストレートに上限がある、ページの中身が「ブロックの配列」という独特の形で返ってくる、この3点です。これらを先回りして設計に組み込んでおかないと、リリース初日はうまく動いていたアプリが、数日後に読者から「画像が表示されません」と報告されて慌てる羽目になります。

このガイドでは、Rork で生成した React Native アプリから Notion を CMS として活用する実装を、個人開発 5 本分の経験から得た運用知識ごと書き留めます。中途半端なサンプルではなく、本番で回り続ける形を目指しましょう。

Notion をアプリの裏側に置く前に決めておきたい3つのこと

Notion を CMS に据える前に、自分のアプリの性質を次の3つの軸で整理しておくと、あとから設計が迷子になりません。

① 読み取り専用か、書き込みもあるか。 ブログ・ニュース・レシピなど「自分が書いて読者が読む」一方通行なら読み取りだけで十分です。一方、ユーザー投稿をためたい場合は Notion を選ぶべきではありません。Notion API は書き込みも可能ですが、ワークスペースに見知らぬユーザーの投稿が流れ込むのは運用上おすすめしません。そういう用途なら Supabase や Firestore のほうが素直です。

② 読者の言語が複数か。 多言語対応する場合、Notion のデータベースに locale プロパティを持たせて記事ごとに分ける方法と、プロパティとして title_ja / title_en を並べる方法があります。私は前者(1記事 = 1言語)を推しています。翻訳の進捗管理がやりやすく、「英語版だけまだ公開しない」といった操作が素直にできるからです。

③ 画像が多いか少ないか。 画像が多いアプリ(レシピ・旅行ガイド・作品ポートフォリオ)は、後述する「画像 URL 1時間問題」への備えを必ず入れてください。画像がほとんどなく文字中心のアプリなら、実装はずっと軽く済みます。

この3つが決まれば、あとは迷わずに手を動かせます。

認証は Internal Integration Token から始めて、必要になったら OAuth へ

Notion API への認証方法は大きく2つです。

  • Internal Integration Token(内部インテグレーション): 自分のワークスペースだけを読み書きする用途。トークンを発行して Authorization: Bearer で送るだけの最短ルートです。
  • Public OAuth: 他のユーザーのワークスペースにアプリとして接続する用途。多ワークスペース対応が必要な SaaS 型アプリで使います。

個人開発者が「自分が書いた記事を自分のアプリに配信する」だけなら、Internal Integration Token で始めるのが正解です。最初から OAuth を組むと、コールバック URL の処理、トークンの暗号化保存、リフレッシュの扱いまで考えることが増えて、記事1本を表示するのに1週間溶けます。

ただしここで重要なのが、トークンをクライアント(アプリ側)に絶対に埋め込まないことです。Rork が生成するコードに NOTION_TOKEN=secret_xxx.env で書いてしまうと、ビルドに含まれて流出リスクが発生します。トークンは必ずサーバー(Cloudflare Workers や自前の軽量 BFF)に置き、アプリからはそのサーバー経由で Notion を叩くのが鉄則です。

バックエンドの軽量構成としては、既存記事の Rork × Hono で作る Cloudflare Workers REST API 実装ガイド で紹介している Hono ベースの構成が相性抜群です。エンドポイントは3つだけで足ります — 一覧取得、記事1件取得、画像プロキシ。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Notion API で詰まっていた「画像 URL が1時間で切れる」問題に、署名付き URL の再発行と CDN キャッシュを組み合わせた運用パターンで決着をつけられる
Internal Integration Token と Public OAuth の境界線を見極め、個人アプリから多ワークスペース対応アプリまで一本の設計思想で拡張できる
ブロック構造を UI に落とし込むレンダラを型安全に実装し、Notion 側の小さな更新がアプリ全体を壊さない堅牢な記事配信基盤を手に入れられる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-06-25
壁紙アプリの画像キャッシュが静かに膨らんでメモリで落ちる — Rork運用で効いた計測と上限設計の運用メモ
画像が主役のRorkアプリで、ディスクキャッシュとメモリ常駐が少しずつ膨らみ、OOMクラッシュとして表面化する問題への対処。実測フック・キャッシュ上限・配信側リサイズまで、運用で効いた順に実装コード付きで整理します。
開発ツール2026-06-12
Rork 製アプリの『書類とデータ』が数 GB に膨らむときの原因と対処 — expo-image のディスクキャッシュ管理
アプリ本体は小さいのに『書類とデータ』だけが数 GB に膨らむ——壁紙アプリの運用で実際に踏んだ expo-image のディスクキャッシュ肥大を、cachePolicy の使い分け・縮小版配信・世代別クリアの三段構えで解決した記録です。
開発ツール2026-08-14
Expo SDK 57 に上げる前に、prebuild で消えるネイティブ変更を洗い出す
Expo SDK 57 では expo prebuild が既定で ios と android を消してから再生成します。手編集を上げる前に洗い出す方法、config plugin への移し替え、57.0.9 で解消したメモリ回帰までを実務の順序でまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →