HTTPリクエスト Notionのデータベースのレコード情報取得とプロパティの更新

HTTPリクエスト Notionのデータベースのレコード情報取得とプロパティの更新

概要

NotionをHTTPリクエストを利用して設定するための例として、データベースのデータを取得とレコードの更新方法について記載します。

ご利用方法


APIキーの取得方法

認証を行うためのAPIキーをNotionから取得します。

1.Notionの設定からインテグレーションのページにアクセスします。
 https://www.notion.so/profile/integrations


2.新しいインテグレーションをクリックします。

3.インテグレーションの情報を入力して、「保存」をクリックします。
・インテグレーション名: 任意の名前
・関連ワークスペース: 自身のNotionを選択
・種類:「内部」を選択
・ロゴ:任意の画像写真







4.インテグレーションが作成されますので、「×」で閉じます。

5.インテグレーションの設定画面に遷移するので、「内部インテグレーションシークレット」部分の「表示」をクリックします。

6.内部イテグレーションシークレットの値が表示されます。こちらをコピーしてAPIキーとして利用します。


APIキーの発行については以上です。

HTTPリクエストの設定例

共通

データベースのレコードは、一つのページとしてみなされ、以下のpageの取得を行うエンドポイントを利用します。
Pageのidが必要となります。Pageのidについては、Notionのレコードを選択した際に表示されるURLの以下の部分です。


データベースのレコード情報を取得する

1.HTTPリクエストの画面を以下のように設定してください。
 メソッド:GET
 Endpoint:https://api.notion.com/v1/pages/{ページのIDがここに記載します。 }
  ※左記の例では、テーブルのレコードを更新した際にWebhookで送信された、取得した「data.id」の変数を入れています。
 Authorizationタブ
 Type:None※他の設定はありません
 Headersタブ
 keyとValueに以下のように記載してください。
 1行目 key:Authorization Value:Bearer {APIキーを記載してください。}※BearerとAPIキーの間は半角スペースが必要です。
 2行目 key:Notion-Version Value:2022-06-28
 3行目 key:Content-Type Value:application/json
  Bodyタブ:記載不要
  Paramsタブ:記載不要




2.テスト送信を行います。テスト送信をクリックして、一度レスポンスを取得します。
テスト送信の際、変数を設定している場合、以下のように表示されています。赤枠部分を削除してPageのidに置き替えます。


3.変数設定を行ってください。
プロパティの情報を変数にしたい場合は、properties配下の情報となるため以下のように設定します。


保存するをクリックしてください。

以上で、データベースのレコード情報を取得するための設定は完了です。


データベースのレコード情報(プロパティの情報)を更新する

1.HTTPリクエストの画面を以下のように設定してください。
    メソッド:PATCH
 Endpoint:https://api.notion.com/v1/pages/{ページのIDがここに記載します。 }
  ※左記の例では、テーブルのレコードを更新した際にWebhookで送信された、取得した「data.id」の変数を入れています。
 Authorizationタブ
 Type:None※他の設定はありません
 Headersタブ
 keyとValueに以下のように記載してください。
 1行目 key:Authorization Value:Bearer {APIキーを記載してください。}※BearerとAPIキーの間は半角スペースが必要です。
 2行目 key:Notion-Version Value:2022-06-28
 3行目 key:Content-Type Value:application/json
 

  Paramsタブ記載不要





    Bodyタブ:Content: 更新したいプロパティとその新しい値をJSON形式で指定します。properties オブジェクトの中に、更新したいプロパティの
         正確なプロパティ名をキーとして記述し、その値にはプロパティタイプに応じたJSON構造を設定します。

    <Bodyの設定例>
    数値のプロパティで、プロパティ名が「コード」の場合の設定例となります。

     ボディの基本的な構造は、以下となります。

    1. {
    2.   "properties": {
    3.     "プロパティ名1": {
    4.       "プロパティタイプに応じたキー": "新しい値"
    5.     },
    6.     "プロパティ名2": {
    7.       "プロパティタイプに応じたキー": "新しい値"
    8.     }
    9.     // ... 他のプロパティ
    10.   }
    11. }


    2.テスト送信を行います。テスト送信をクリックして、更新できれるか確認してください。
    テスト送信の際、変数を設定している場合、以下のように表示されています。赤枠部分を削除してPageのidに置き替えます。

    以上で、設定としては完了です。Bodyを設定した後は、テスト送信でお試しください。


    また、Notionのプロパティタイプごとの設定については、以下を参照してください。

    <プロパティタイプごとの値の指定例>

     Notionのプロパティは多様なタイプがあるため、それぞれのタイプに応じた正しいJSON構造で値を指定する必要があります。

    Title (タイトル)  データベースのタイトルプロパティを更新する場合。

    1. {
    2.   "properties": {
    3.     "Name": { // プロパティ名が "Name" の場合
    4.       "title": [
    5.         {
    6.           "text": {
    7.             "content": "新しいタイトル"
    8.           }
    9.         }
    10.       ]
    11.     }
    12.   }
    13. }
    ・Rich Text (テキスト)  テキストプロパティを更新する場合。テキストプロパティを更新する場合。
    1. {
    2.   "properties": {
    3.     "Description": { // プロパティ名が "Description" の場合
    4.       "rich_text": [
    5.         {
    6.           "text": {
    7.             "content": "これは新しい説明文です。"
    8.           }
    9.         }
    10.       ]
    11.     }
    12.   }
    13. }
    ・Number (数値)
    1. {
    2.   "properties": {
    3.     "Priority": { // プロパティ名が "Priority" の場合
    4.       "number": 5
    5.     }
    6.   }
    7. }
    Select (選択肢)  既存の選択肢の中から設定する場合。
    1. {
    2.   "properties": {
    3.     "Status": { // プロパティ名が "Status" の場合
    4.       "select": {
    5.         "name": "完了" // 既存の選択肢の名前
    6.       }
    7.     }
    8.   }
    9. }
    ・Multi-select (複数選択)  複数の選択肢を設定する場合。
    1. {
    2.   "properties": {
    3.     "Tags": { // プロパティ名が "Tags" の場合
    4.       "multi_select": [
    5.         { "name": "重要" },
    6.         { "name": "プロジェクトA" }
    7.       ]
    8.     }
    9.   }
    10. }
    Status (ステータス)  ステータスプロパティを更新する場合。
    1. {
    2.   "properties": {
    3.     "Project Status": { // プロパティ名が "Project Status" の場合
    4.       "status": {
    5.         "name": "In progress" // ステータスオプションの名前
    6.       }
    7.     }
    8.   }
    9. }
    Date (日付) 特定の日付を設定する場合。タイムゾーンは任意で設定。
    1. {
    2.   "properties": {
    3.     "Due Date": { // プロパティ名が "Due Date" の場合
    4.       "date": {
    5.         "start": "2025-12-31",
    6.         "end": null, // 期間を設定しない場合は null
    7.         "time_zone": "Asia/Tokyo" // 任意。例: "Asia/Tokyo", "America/New_York"
    8.       }
    9.     }
    10.   }
    11. }
    Checkbox (チェックボックス)
    1. {
    2.   "properties": {
    3.     "Completed": { // プロパティ名が "Completed" の場合
    4.       "checkbox": true
    5.     }
    6.   }
    7. }

    ・URL

    1. {
    2.   "properties": {
    3.     "Link": { // プロパティ名が "Link" の場合
    4.       "url": "https://example.com/new-link"
    5.     }
    6.   }
    7. }










      • Related Articles

      • HTTPリクエスト OAuth認証Box

        概要 HTTPコネクタ用 OAuth認証の利用方法を記載します。 ご利用方法 本設定内容は、Boxでの設定例について記載します。 サービス認証メニューから+ボタンをクリックして、HTTPリクエストを選択します。ポップアップ画面では、任意の[認証名]を記載して、[サービス]で[Box OAuth2]を選択します。     HTTPリクエストの認証画面がひらくので、必要情報を記載していきます。 項目 内容 グループ 認証を利用するグループを選択します。 認証名 任意の認証名を記載してください。 ...
      • HTTPリクエストコネクタ

        概要 クラウドサービスなどのAPIを参照して、HTTPリクエストを送信できます。 レスポンスを出力データとして受け取り、変数として利用することができます。 ご注意 本コネクタは上級者向けの機能となります。普段からcurlコマンドやPostmanの操作などに慣れ親しんでいる方を対象としています。 ご利用されるAPIについて、仕様と制限事項をご理解してお使いください。 ご利用されるAPIからのレスポンス結果やエラー内容について、弊社はサポートいたしません。 ...
      • HTTPリクエストの実行ログの表示

        HTTPリクエストコネクタは、HTTPリクエストの実行とレスポンス受信、レスポンス内の指定したパスを変数として利用することを目的とするコネクタになります。 リクエスト先によりレスポンスの形式が異なるため、JENKAの実行ログ上は成功となっていてもレスポンス自体がエラーの場合があります。以下にフォローチャートを参考にご利用ください。 実行ログの成功とエラーのフローチャート ■実行ログが「成功」の場合処理 コネクタで成功として処理されます。 ワークフロー:後続でワークフローを実行 ...
      • HTTPリクエスト OAuth認証 Google Cloud platform(GCP)

        概要 HTTPコネクタ用 OAuth認証の利用方法を記載します。なお、本設定について、高度な知識を必要とします。 現在の対応 ・Google Cloud platform(GCP) ※OAuthは個別に調整が必要なため、他の製品のOAuthご希望の場合はお問い合わせの機能要望よりご依頼ください。 ご利用方法 GCPの設定例 本設定内容は、GCPでの設定例について記載します。 サービス認証メニューから+ボタンをクリックして、HTTPリクエストを選択します。 ...
      • HTTPリクエスト カオナビの認証方法

        概要 HTTPコネクタでカオナビの認証方法の例を記載します。なお、本設定について、高度な知識を必要とします。 カオナビのAPIについては、詳しくは以下をご参照ください。 https://developer.kaonavi.jp/api/v2.0/index.html 設定例 カオナビのAPIを利用するには、以下のように2段階で、情報の取得を行います。 ①アクセストークンを取得 ②取得したアクセストークンを利用して、リソース情報にアクセスして情報の取得を行います。 ①アクセストークを取得 ...