(日本語版)Notion API - Public Beta
    (日本語版)Notion API - Public Beta
    • 概要
    • インテグレーション機能
    • リクエスト制限
    • ステータス コード
    • ブロック
    • ユーザー
    • コメント
    • リンク プレビューのUnfurl属性オブジェクト
    • バージョン変更
      • バージョニング
      • バージョンによる変更
    • ページ
      • ページ
      • ページのプロパティ
    • データベース
      • データベース
      • データベースのプロパティ
    • その他
      • 絵文字オブジェクト
      • ファイルオブジェクト
      • 親オブジェクト
      • リッチテキストオブジェクト
    • エンドポイント
      • 認証
        • 認証
        • Tokenを作成
      • ブロック
        • ブロックを取得
        • ブロックを更新
        • ブロックの子を取得
        • ブロックの子を追加
        • ブロックを削除
      • データベース
        • データベース エントリのフィルタ
        • データベース エントリの並べ替え
        • データベースのプロパティを更新する
        • データベースを作成
        • データベースを取得
        • データベースを更新
        • データベースにクエリを実行
      • ユーザー
        • 全てユーザーのリストを取得
        • トークンのボットユーザーを取得
        • ユーザーを取得
      • ページ
        • ページをアーカイブ
        • ページを作成
        • ページを取得
        • ページプロパティアイテムを取得
        • ページプロパティを更新
      • コメント
        • コメントを作成
        • コメントを取得
      • 検索
        • タイトルで検索

    概要

    概要#

    本リファレンスは、Notion API を包括的に理解するために役立ちます。
    インテグレーションは API を使用して、Notion のページ、データベース、およびユーザーにアクセスします。インテグレーションにより、サービスを Notion に接続し、Notion 内のユーザー向けのインタラクティブなエクスペリエンスを構築できます。左側のナビゲーションを使用すると、API で使用されるオブジェクトとエンドポイントの詳細が表示されます。

    📘#

    Notion API とやり取りするには、インテグレーショントークンが必要です。インテグレーション設定ページでインテグレーションを作成した後、インテグレーショントークンを見つけることができます。初めて Notion API を使用する場合は、入門ガイドから始めて、インテグレーションの作成方法を学習することをお勧めします。
    特定のインテグレーションに取り組みたいが、トークンにアクセスできない場合は、関連するワークスペースの管理者であることを確認してください。Notion UI の左側のサイドバーの Settings & Membersから確認できます。どのワークスペースの管理者でもない場合は、個人用ワークスペースを無料で作成できます。

    規約#

    すべての API リクエストを送信するベース URL はhttps://api.notion.comです。 すべての API リクエストに HTTPS が必要です。
    Notion API は可能な限り RESTful 規則に従い、ほとんどの操作はページおよびデータベース リソースでGET、POST、PATCH、DELETEリクエストを介して実行されます。リクエストとレスポンスの本文は、JSON としてエンコードされます。

    JSON 規則#

    トップレベルのリソースにはobjectプロパティがあります。このプロパティは、リソースのタイプ ( database、user など) を決定するために使用できます。
    トップレベルのリソースは、UUIDv4"id"プロパティによってアドレス指定できます。ID を Notion URL からコピーする場合など、API にリクエストを行うときは、ID からダッシュを省略できます。
    プロパティ名はsnake_case(camelCaseまたはkebab-caseではない) にあります。
    時間値 (日付と日時) は、ISO 8601文字列でエンコードされます。日時には時刻値 (2020-08-12T02:12:33.231Z ) が含まれますが、日付には日付のみが含まれます。 (2020-08-12 )
    Notion API は空の文字列をサポートしていません。たとえば、urlProperty value objectなどのプロパティの文字列値を設定解除するには、""の代わりに明示的なnull を使用します。

    コード サンプルと SDK#

    エンドポイントごとにサンプルのリクエストとレスポンスが示されています。リクエストは、Notion JavaScript SDKおよびcURLを使用して表示されます。これらのサンプルを使用すると、インテグレーションを構築するときに簡単にコピー、貼り付け、および変更できます。
    Notion SDK は、インストールして簡単にビルドを開始できるオープン ソース プロジェクトです。HTTP リクエストを作成できる他の言語またはライブラリを選択することもできます。

    ページネーション#

    オブジェクトのリストを返すエンドポイントは、カーソルベースのページネーション リクエストをサポートしています。デフォルトでは、Notion は API 呼び出しごとに 10 個のアイテムを返します。サポート エンドポイントからの応答のアイテム数がデフォルトを超える場合、インテグレーションはページネーションを使用して特定の結果セットを要求したり、返されるアイテムの数を制限したりできます。

    サポートされているエンドポイント#

    HTTP メソッド終点
    GETすべてのユーザーを一覧表示する
    GETブロックの子を取得する
    GETコメントを取得する
    GETページ プロパティ アイテムを取得する
    POSTデータベースにクエリを実行する
    POST検索

    レスポンス#

    エンドポイントがページネーションをサポートしている場合、レスポンスオブジェクトには以下のフィールドが含まれます。
    分野タイプ説明
    has_morebooleanレスポンスにリストの最後が含まれるかどうか。それ以上の結果がない場合falseなり、そうでなければtrueになります。
    next_cursorstring値をstart_cursorパラメータとして同じエンドポイントに渡すことで、結果の次のページを取得するために使用できる文字列。has_moreが true の 場合にのみ使用できます。
    object"list"定数文字列"list"。
    resultsarray of objectsエンドポイント固有の結果のリストまたは部分的なリスト。詳細については、サポートされているエンドポイントの個別のドキュメントを参照してください。
    type"block" "comment" "database" "page" "page_or_database" "property_item" "user"results内のオブジェクトのタイプを表す定数文字列。
    {type}paginated list objectタイプ固有のページネーション情報を含むオブジェクト。property_itemの場合 、値は 分割されたページ プロパティタイプに対応します。他のすべてのタイプの場合、値は空のオブジェクトです。

    ページ分割されたリクエストのパラメータ#

    🚧パラメーターの場所はエンドポイントによって異なります#

    GETリクエストは、クエリの文字列のパラメーターを受け入れます。
    POSTリクエストは、リクエストのBodyでパラメーターを受け取ります。
    パラメータタイプ説明
    page_sizenumberレスポンスに含める完全なリストからのアイテムの数。
    デフォルト:100最大: 100
    レスポンスに含まれる結果の数がデフォルトよりも少ない場合があります。
    start_cursorstring以前のレスポンスで返されたnext_cursor値。これを不透明な値として扱います。
    デフォルトはundefined で、リストの先頭から結果を返します。

    ページ分割されたリクエストを送信する方法#

    1.
    サポートされているエンドポイントに最初のリクエストを送信します。
    2.
    レスポンスからnext_cursor値を取得します(has_more がtrue の場合のみ利用可能)。
    3.
    クエリ文字列 (GETリクエストの場合) またはBodyパラメーター (POSTリクエスト)にnext_cursorパラメーターを含むフォローアップ リクエストをエンドポイントに送信します。

    例: データベースから次の一連のクエリ結果をリクエストする#

    curl --location --request POST 'https://api.notion.com/v1/databases/<database_id>/query' \
    --header 'Authorization: Bearer <secret_bot>' \
    --header 'Content-Type: application/json' \
    --data '{
        "start_cursor": "33e19cb9-751f-4993-b74d-234d67d0d534"
    }'
    更新日時 2023-04-27 09:35:05
    次へ
    インテグレーション機能
    Built with