概要
NotionをHTTPリクエストを利用して設定するための例として、データベースのデータを取得とレコードの更新方法について記載します。
ご利用方法
HTTPリクエストの設定例
共通
データベースのレコードは、一つのページとしてみなされ、以下のpageの取得を行うエンドポイントを利用します。
Pageのidが必要となります。Pageのidについては、Notionのレコードを選択した際に表示されるURLの以下の部分です。

データベースのレコード情報を取得する
1.HTTPリクエストの画面を以下のように設定してください。

**メソッド:**GET
E****ndpoint: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タブ:**記載不要
ご注意
認証を行うためのAPIキーをNotionから取得します。
1.Notionの設定からインテグレーションのページにアクセスします。
https://www.notion.so/profile/integrations
2.新しいインテグレーションをクリックします。
3.インテグレーションの情報を入力して、「保存」をクリックします。

・インテグレーション名: 任意の名前
・関連ワークスペース: 自身のNotionを選択
・種類:「内部」を選択
・ロゴ:任意の画像写真
4.インテグレーションが作成されますので、「×」で閉じます。

5.インテグレーションの設定画面に遷移します。「アクセス」をクリックしてください。

6.アクセスタブのページのアクセスの編集をクリックします。

7.APIを利用してアクセスする対象を選択して、アクセスの更新をクリックします。

7.「設定」のタブを選択して、「内部インテグレーションシークレット」部分の「表示」をクリックします。

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

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

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

保存するをクリックしてください。
以上で、データベースのレコード情報を取得するための設定は完了です。
データベースのレコード情報(プロパティの情報)を更新する
1.HTTPリクエストの画面を以下のように設定してください。

メソッド:PATCH
E****ndpoint: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の設定例>
数値のプロパティで、プロパティ名が「コード」の場合の設定例となります。

ボディの基本的な構造は、以下となります。
- {
- "properties": {
- "プロパティ名1": {
- "プロパティタイプに応じたキー": "新しい値"
- },
- "プロパティ名2": {
- "プロパティタイプに応じたキー": "新しい値"
- }
- // ... 他のプロパティ
- }
- **}
**
2.テスト送信を行います。テスト送信をクリックして、更新できれるか確認してください。
テスト送信の際、変数を設定している場合、以下のように表示されています。赤枠部分を削除してPageのidに置き替えます。

**
以上で、設定としては完了です。Bodyを設定した後は、テスト送信でお試しください。
**
**また、Notionのプロパティタイプごとの設定については、以下を参照してください。
**
**<プロパティタイプごとの値の指定例>
**
Notionのプロパティは多様なタイプがあるため、それぞれのタイプに応じた正しいJSON構造で値を指定する必要があります。
・Title (タイトル) データベースのタイトルプロパティを更新する場合。
- {
- "properties": {
- "Name": { // プロパティ名が "Name" の場合
- "title": [
- {
- "text": {
- "content": "新しいタイトル"
- }
- }
- ]
- }
- }
- }
・Rich Text (テキスト) テキストプロパティを更新する場合。テキストプロパティを更新する場合。
- {
- "properties": {
- "Description": { // プロパティ名が "Description" の場合
- "rich_text": [
- {
- "text": {
- "content": "これは新しい説明文です。"
- }
- }
- ]
- }
- }
- }
**・Number (数値)
**
- {
- "properties": {
- "Priority": { // プロパティ名が "Priority" の場合
- "number": 5
- }
- }
- }
**・**Select (選択肢) 既存の選択肢の中から設定する場合。
- {
- "properties": {
- "Status": { // プロパティ名が "Status" の場合
- "select": {
- "name": "完了" // 既存の選択肢の名前
- }
- }
- }
- }
・Multi-select (複数選択) 複数の選択肢を設定する場合。
- {
- "properties": {
- "Tags": { // プロパティ名が "Tags" の場合
- "multi_select": [
- { "name": "重要" },
- { "name": "プロジェクトA" }
- ]
- }
- }
- }
**・**Status (ステータス) ステータスプロパティを更新する場合。
- {
- "properties": {
- "Project Status": { // プロパティ名が "Project Status" の場合
- "status": {
- "name": "In progress" // ステータスオプションの名前
- }
- }
- }
- }
・Date (日付) 特定の日付を設定する場合。タイムゾーンは任意で設定。
- {
- "properties": {
- "Due Date": { // プロパティ名が "Due Date" の場合
- "date": {
- "start": "2025-12-31",
- "end": null, // 期間を設定しない場合は null
- "time_zone": "Asia/Tokyo" // 任意。例: "Asia/Tokyo", "America/New_York"
- }
- }
- }
- }
・**Checkbox (チェックボックス)
**
- {
- "properties": {
- "Completed": { // プロパティ名が "Completed" の場合
- "checkbox": true
- }
- }
- }
**・URL
**
- {
- "properties": {
- "Link": { // プロパティ名が "Link" の場合
- "url": "https://example.com/new-link"
- }
- }
- }