[{"data":1,"prerenderedAt":70},["ShallowReactive",2],{"blog-tags":3,"header-recruit-jobs":17,"blog-post-python-notion-api":26},[4,5,6,7,8,9,10,11,12,13,14,15,16],"Notion AI","Notionカレンダー","Notionサイト","Notionメール","インテグレーション \u002F 外部ツール連携","データベース","プラン \u002F 請求 \u002F 料金 \u002F 支払い","ページ \u002F ブロック","マーケットプレイス \u002F テンプレート","ワークスペース \u002F サイドバー","共有 \u002F コラボレーション","数式","設定",[18,22],{"path":19,"title":20,"order":21},"\u002Frecruit\u002Fnotion-consultant","Notionエンジニア\u002Fコンサルタント",1,{"path":23,"title":24,"order":25},"\u002Frecruit\u002Fpresales","Notion導入ソリューションセールス",2,{"slug":27,"title":28,"date":29,"lastUpdatedAt":30,"excerpt":31,"categories":32,"tags":34,"author":35,"noIndex":42,"html":43,"headings":44,"qas":68,"relatedQAsByTag":69},"python-notion-api","PythonでNotion APIを実行する方法","2023-09-30T00:00:00.000Z","2024-12-05T00:00:00.000Z","Pythonを使用してNotion APIを使う方法についてのブログ記事です。記事では、Notion APIを使用してデータベースのページを作成、読み取り、更新する方法について説明しています。",[33],"個人利用",[8],{"id":36,"name":37,"image":38,"description":39,"url":39,"descriptionHTML":40,"SNSHTML":41},"c2f976ab-4882-4e4e-a80e-91d829bd59ca","チャベス","\u002Fblog\u002Ficon\u002Fchabesu.png","","Webライター・ディレクター。Notion公式のおすすめのテンプレートクリエイター。個人でNotionをちょっと便利にするChrome拡張機能を開発中。代表作は「NotionSidebarHider」「Notion文字数カウント」。本業はメーカーで研究開発をしているエンジニア。","\u003Ca href=\"https:\u002F\u002Fx.com\u002FChabesuB\" class=\"article-link\" target=\"_blank\">X\u003C\u002Fa> \u002F \u003Ca href=\"https:\u002F\u002Fwww.notion.so\u002Fja-jp\u002F@chabesu\" class=\"article-link\" target=\"_blank\">Notion\u003C\u002Fa>",false,"\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">この記事では、PythonでNotion APIを使う方法について解説します。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">Notion APIの概要や具体的な活用例、Notion APIを活用したサービスなどを知りたい場合は以下の記事を参考にしてみてください。\u003C\u002Fp>\n        \u003Cdetails class=\"table-of-contents mb-6 hidden\" open=\"\">\n          \u003Csummary class=\"text-[.9em] leading-[1.6] font-semibold tracking-[1px] mb-2\">\n            目次\n          \u003C\u002Fsummary>\n          \u003Cul class=\"toc-list flex flex-col gap-1 ml-5\">\n      \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#python実行環境の準備\" class=\"toc-link text-sm text-black6 font-bold\">\n                Python実行環境の準備\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#インテグレーションキー--データベースidの取得\" class=\"toc-link text-sm text-black6 font-bold\">\n                インテグレーションキー \u002F データベースIDの取得\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#必要なライブラリのインストール\" class=\"toc-link text-sm text-black6 font-bold\">\n                必要なライブラリのインストール\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#pythonでnotion-apiを使用しデータベース内にページを作るサンプルコード\" class=\"toc-link text-sm text-black6 font-bold\">\n                PythonでNotion APIを使用しデータベース内にページを作るサンプルコード\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#pythonでnotion-apiを使用しデータベースのページを更新するサンプルコード\" class=\"toc-link text-sm text-black6 font-bold\">\n                PythonでNotion APIを使用し、データベースのページを更新するサンプルコード\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#pythonでnotion-apiを使用しデータベースからページを取得するサンプルコード\" class=\"toc-link text-sm text-black6 font-bold\">\n                PythonでNotion APIを使用しデータベースからページを取得するサンプルコード\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#notion-apiの公式ページ\" class=\"toc-link text-sm text-black6 font-bold\">\n                Notion APIの公式ページ\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n            \u003Cli class=\"mt-0.5\">\n              \u003Ca href=\"#おわりに\" class=\"toc-link text-sm text-black6 font-bold\">\n                おわりに\n              \u003C\u002Fa>\n            \u003C\u002Fli>\n        \n          \u003C\u002Ful>\n        \u003C\u002Fdetails>\n      \u003Ca href=\"#python実行環境の準備\" id=\"python実行環境の準備\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">Python実行環境の準備\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">まず、Pythonで書かれたソースコードを動かすためには、お使いのPCにPythonを実行できる環境を準備する必要があります。Pythonの実行環境がない場合は、以下のリンクよりダウンロードが可能です。\u003C\u002Fp>\u003Cul class=\"list-square pl-6\">\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">\u003Ca href=\"https:\u002F\u002Fwww.python.jp\u002Finstall\u002Finstall.html\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Python環境構築ガイド - python.jp\u003C\u002Fa>\u003Cbr>手元のマシンでPythonを動かす環境が準備できない方は「\u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fnotebooks\u002Fintro.ipynb\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Google Colab\u003C\u002Fa>」や「\u003Ca href=\"https:\u002F\u002Fcodesandbox.io\u002F\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">CodeSandbox\u003C\u002Fa>」など、ブラウザ上でPythonを実行できるサービスをお使いいただくことも可能です。ご自身に合った環境をお選びください。\u003C\u002Fli>\u003C\u002Ful>\n    \u003Cdiv class=\"template-text-section mb-6\" data-cta-id=\"task-trial\" data-cta-position=\"after-h2-2\" data-cta-variant=\"default\" data-audience=\"toC\" data-post-slug=\"python-notion-api\">\n      \n      \u003Csection class=\"flex flex-col gap-y-5 mb-4 bg-white border border-black px-6 pt-6 pb-7 md:px-8\">\n        \u003Cdiv>\n          \u003Ch2 class=\"blog-heading font-feature-palt\">\n            Notionタスク管理ロードマップ体験版を無料プレゼント\n          \u003C\u002Fh2>\n        \u003C\u002Fdiv>\n        \u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\n          Notionでのタスク管理を基礎から体系的に学べる「タスク管理ロードマップ」の体験版を無料で配布しています。公式LINEの友だち追加だけで、すぐに受け取れます。\n        \u003C\u002Fp>\n        \u003Cimg src=\"https:\u002F\u002Flp.notion-university.jp\u002Fimages\u002Ftrial-task.jpg\" alt=\"Notionタスク管理ロードマップ体験版のプレビュー\" class=\"w-full border border-grayLight20\" loading=\"lazy\">\n        \u003Cdiv class=\"flex flex-col items-center gap-3 pt-1\">\n          \u003Ca href=\"https:\u002F\u002Flp.notion-university.jp\u002Ftrial-0621\u002F?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=trial0621&amp;utm_content=article_cta&amp;utm_term=python-notion-api\" class=\"blog-button blog-button--line\" target=\"_blank\" rel=\"noopener\">\n            \u003Cspan>体験版を無料で受け取る\u003C\u002Fspan>\n          \u003C\u002Fa>\n          \u003Cp class=\"text-xs text-black6\">簡単3分！公式LINEの友だち追加だけですぐに受け取れます\u003C\u002Fp>\n        \u003C\u002Fdiv>\n      \u003C\u002Fsection>\n    \n    \u003C\u002Fdiv>\n  \u003Ca href=\"#インテグレーションキー--データベースidの取得\" id=\"インテグレーションキー--データベースidの取得\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">インテグレーションキー \u002F データベースIDの取得\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">まずはじめに、Notion APIで使用するインテグレーションキーを準備します。まだ準備していない方は以下の記事を参考に準備しておいてください。\u003C\u002Fp>\u003Cdiv class=\"notion-callout bg-grayLight5 border-grayLight20 text-black p-4 border\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">ちなみに今回は、インテグレーションキーやデータベースIDなどはコード内に直接記載します。コードを外部に公開する可能性がある場合は、インテグレーションキーなどが流出しないように環境変数に登録することをオススメします。\u003Cbr>インテグレーションキーとデータベースIDが外部に漏れてしまうと、コネクトしたデータベースが外部から操作可能となってしまうのでご注意ください。\u003C\u002Fp>\u003C\u002Fdiv>\n\n\u003Ca href=\"#必要なライブラリのインストール\" id=\"必要なライブラリのインストール\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">必要なライブラリのインストール\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">今回は、HTTP通信にrequestsというライブラリを使用します。以下のコマンドでインストールすることが可能です。\u003C\u002Fp>\u003Cpre class=\"bg-grayLight5 border border-grayLight20 p-4 overflow-x-auto mb-4\">\u003Ccode class=\"language-python text-sm\">pip install requests\u003C\u002Fcode>\u003C\u002Fpre>\u003Ca href=\"#pythonでnotion-apiを使用しデータベース内にページを作るサンプルコード\" id=\"pythonでnotion-apiを使用しデータベース内にページを作るサンプルコード\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">PythonでNotion APIを使用しデータベース内にページを作るサンプルコード\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">Notion API接続用のデータベースを準備します。今回はテスト用に以下のようなデータベースを作成しました。\u003C\u002Fp>\u003Cul class=\"list-square pl-6\">\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">名前：タイトルプロパティ\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">タグ：セレクトプロパティ\u003C\u002Fli>\u003C\u002Ful>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003C\u002Fp>\u003Cfigure>\n    \u003Cimg src=\"\u002Fblog\u002Fimages\u002Fpost\u002F2023-09-30-python-notion-api-1.png\" alt=\"テスト用DB\" class=\"border border-grayLight20 md:max-w-[80%] m-auto\" loading=\"lazy\">\n    \u003Cfigcaption class=\"text-center leading-5\" style=\"font-size: .85rem; color: #999;\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">テスト用DB\u003C\u002Fp>\u003C\u002Ffigcaption>\n  \u003C\u002Ffigure>\u003Cp>\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">Notion APIで実行する際に必要な、データベースIDを取得します。今回作成したテスト用のデータベースのURLは以下のようになっており、この中の 22e5dc3676004661a16a6c45e5ee1a4cの部分がデータベースIDとなります。\u003C\u002Fp>\u003Cpre class=\"bg-grayLight5 border border-grayLight20 p-4 overflow-x-auto mb-4\">\u003Ccode class=\"language-plain text text-sm\">https:\u002F\u002Fwww.notion.so\u002Fchabesu-blog\u002F22e5dc3676004661a16a6c45e5ee1a4c?v=1cc5044e126b415899a940fb284cab66\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">次に、Pythonのファイルを作成し、下記のコードを記載します。ファイル名は任意ですが、今回はmain.pyとしておきます。\u003C\u002Fp>\u003Cpre class=\"bg-grayLight5 border border-grayLight20 p-4 overflow-x-auto mb-4\">\u003Ccode class=\"language-python text-sm\">import requests\n\nNOTION_API_KEY = 'secret_*******************************************'\nDATABASE_ID = '22e5dc3676004661a16a6c45e5ee1a4c'\n\nurl = 'https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages'\n\nheaders =  {\n    'Notion-Version': '2022-06-28',\n    'Authorization': 'Bearer ' + NOTION_API_KEY,\n    'Content-Type': 'application\u002Fjson',\n}\n\njson_data = {\n    'parent': { 'database_id': DATABASE_ID },\n    'properties': {\n        '名前': {\n            'title': [\n                {\n                    'text': {\n                        'content': 'Pythonで追加'\n                    }\n                }\n            ]\n        },\n                'タグ': {\n            'multi_select': [\n                {\n                'name': 'Python'\n                }\n            ]\n        },\n    },\n}\n\nresponse = requests.post(url, headers=headers, json=json_data)\nprint(response)\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">作成したpythonファイルを\u003Ccode class=\"bg-grayLight5 text-black px-1.5 py-0.5 text-[0.85em] border border-grayLight20 font-semibold\">python main.py\u003C\u002Fcode> コマンドで実行します。成功していればログに &lt;Response [200]&gt; と表示され、データベースに「Pythonで追加」が追加されています。200 以外の数値が出た場合は、\u003Ca href=\"https:\u002F\u002Fdevelopers.notion.com\u002Freference\u002Fstatus-codes\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Notion APIのステータスコード一覧\u003C\u002Fa>を参考に、どこに原因があるのかをコード内の不具合を調査してみてください。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003C\u002Fp>\u003Cfigure>\n    \u003Cimg src=\"\u002Fblog\u002Fimages\u002Fpost\u002F2023-09-30-python-notion-api-2.png\" alt=\"実行結果Response [200] と表示されている\" class=\"border border-grayLight20 md:max-w-[80%] m-auto\" loading=\"lazy\">\n    \u003Cfigcaption class=\"text-center leading-5\" style=\"font-size: .85rem; color: #999;\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">実行結果Response [200] と表示されている\u003C\u002Fp>\u003C\u002Ffigcaption>\n  \u003C\u002Ffigure>\u003Cp>\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003C\u002Fp>\u003Cfigure>\n    \u003Cimg src=\"\u002Fblog\u002Fimages\u002Fpost\u002F2023-09-30-python-notion-api-3.png\" alt=\"「Pythonで追加」が追加\" class=\"border border-grayLight20 md:max-w-[80%] m-auto\" loading=\"lazy\">\n    \u003Cfigcaption class=\"text-center leading-5\" style=\"font-size: .85rem; color: #999;\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">「Pythonで追加」が追加\u003C\u002Fp>\u003C\u002Ffigcaption>\n  \u003C\u002Ffigure>\u003Cp>\u003C\u002Fp>\u003Ca href=\"#pythonでnotion-apiを使用しデータベースのページを更新するサンプルコード\" id=\"pythonでnotion-apiを使用しデータベースのページを更新するサンプルコード\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">PythonでNotion APIを使用し、データベースのページを更新するサンプルコード\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">上記のデータベースの「Pythonで追加」ページの「Python」タグを「タグ2」に変更するソースコードのサンプルを書いてみます。まずは「Pythonで追加」ページのURLを確認して、ページIDを取得します。\u003C\u002Fp>\u003Cpre class=\"bg-grayLight5 border border-grayLight20 p-4 overflow-x-auto mb-4\">\u003Ccode class=\"language-plain text text-sm\">https:\u002F\u002Fwww.notion.so\u002Fchabesu-blog\u002FPython-037c1ac036d94ffc91ee96eec2104112\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">上記のURLの037c1ac036d94ffc91ee96eec2104112の部分がページIDとなります。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">ページIDを取得したら、ページを更新するコードを書いていきます。先ほどのページ作成のコードとの違いとして、以下のような点に注意してください。\u003C\u002Fp>\u003Cul class=\"list-square pl-6\">\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">methodが&nbsp;POST→&nbsp;PATCHに変更\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">DATABASE_IDを&nbsp;PAGE_IDに変更\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">urlを変更\u003C\u002Fli>\u003C\u002Ful>\u003Cpre class=\"bg-grayLight5 border border-grayLight20 p-4 overflow-x-auto mb-4\">\u003Ccode class=\"language-python text-sm\">import requests\n\nNOTION_API_KEY = 'secret_*******************************************'\nPAGE_ID = '037c1ac036d94ffc91ee96eec2104112'\n\nurl = 'https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\u002F' + PAGE_ID\n\nheaders =  {\n    'Notion-Version': '2022-06-28',\n    'Authorization': 'Bearer ' + NOTION_API_KEY,\n    'Content-Type': 'application\u002Fjson',\n}\n\njson_data = {\n    'properties': {\n                'タグ': {\n            'multi_select': [\n                {\n                'name': 'タグ2'\n                }\n            ]\n        },\n    },\n}\n\nresponse = requests.patch(url, headers=headers, json=json_data)\nprint(response)\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003Ccode class=\"bg-grayLight5 text-black px-1.5 py-0.5 text-[0.85em] border border-grayLight20 font-semibold\">python main.py\u003C\u002Fcode> コマンドを実行し、ログに &lt;Response [200]&gt; と表示され、Notion側のタグが「タグ2」に変更されていれば成功です。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003C\u002Fp>\u003Cfigure>\n    \u003Cimg src=\"\u002Fblog\u002Fimages\u002Fpost\u002F2023-09-30-python-notion-api-4.png\" alt=\"実行結果Response [200] と表示されている\" class=\"border border-grayLight20 md:max-w-[80%] m-auto\" loading=\"lazy\">\n    \u003Cfigcaption class=\"text-center leading-5\" style=\"font-size: .85rem; color: #999;\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">実行結果Response [200] と表示されている\u003C\u002Fp>\u003C\u002Ffigcaption>\n  \u003C\u002Ffigure>\u003Cp>\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003C\u002Fp>\u003Cfigure>\n    \u003Cimg src=\"\u002Fblog\u002Fimages\u002Fpost\u002F2023-09-30-python-notion-api-5.png\" alt=\"「タグ1」がNotion APIによって「タグ2」に変更されている\" class=\"border border-grayLight20 md:max-w-[80%] m-auto\" loading=\"lazy\">\n    \u003Cfigcaption class=\"text-center leading-5\" style=\"font-size: .85rem; color: #999;\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">「タグ1」がNotion APIによって「タグ2」に変更されている\u003C\u002Fp>\u003C\u002Ffigcaption>\n  \u003C\u002Ffigure>\u003Cp>\u003C\u002Fp>\u003Ca href=\"#pythonでnotion-apiを使用しデータベースからページを取得するサンプルコード\" id=\"pythonでnotion-apiを使用しデータベースからページを取得するサンプルコード\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">PythonでNotion APIを使用しデータベースからページを取得するサンプルコード\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">データベース内から「タグ2」が付いたページのみを取得するサンプルコードについて解説します。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">ページを検索するコードを記載します。以下に注意してください。\u003C\u002Fp>\u003Cul class=\"list-square pl-6\">\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">DATABASE_IDを使用\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">methodが&nbsp;POST\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">urlには&nbsp;queryを使用\u003C\u002Fli>\u003C\u002Ful>\u003Cpre class=\"bg-grayLight5 border border-grayLight20 p-4 overflow-x-auto mb-4\">\u003Ccode class=\"language-python text-sm\">import requests\nfrom pprint import pprint\n\nNOTION_API_KEY = 'secret_*******************************************'\nDATABASE_ID = '22e5dc3676004661a16a6c45e5ee1a4c'\n\nurl = 'https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fdatabases\u002F' + DATABASE_ID + '\u002Fquery'\n\nheaders =  {\n    'Notion-Version': '2022-06-28',\n    'Authorization': 'Bearer ' + NOTION_API_KEY,\n    'Content-Type': 'application\u002Fjson',\n}\n\njson_data = {\n    'filter': {\n    'property': 'タグ',\n        'multi_select': {\n            'contains': 'タグ2'   \n        }\n    }\n}\n\nresponse = requests.post(url, headers=headers, json=json_data)\npprint(response.json())\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003Ccode class=\"bg-grayLight5 text-black px-1.5 py-0.5 text-[0.85em] border border-grayLight20 font-semibold\">python ma.py\u003C\u002Fcode> コマンドを実行し、成功していれば以下のようにデータベース内から検索条件に一致するデータを取得することができます。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">\u003C\u002Fp>\u003Cfigure>\n    \u003Cimg src=\"\u002Fblog\u002Fimages\u002Fpost\u002F2023-09-30-python-notion-api-6.png\" alt=\"タグ2 が付いたデータのみ取得することができた\" class=\"border border-grayLight20 md:max-w-[80%] m-auto\" loading=\"lazy\">\n    \u003Cfigcaption class=\"text-center leading-5\" style=\"font-size: .85rem; color: #999;\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">タグ2 が付いたデータのみ取得することができた\u003C\u002Fp>\u003C\u002Ffigcaption>\n  \u003C\u002Ffigure>\u003Cp>\u003C\u002Fp>\n      \u003Cdiv class=\"notion-callout bg-grayLight5 border-grayLight20 text-black p-4 border\">\n        \u003Cdiv class=\"flex items-start\">\n          \u003Cdiv class=\"flex-shrink-0 mr-3\">\n            \u003Ca href=\"\u002Fblog\u002Fauthors\u002Fチャベス\" class=\"flex flex-col items-center\">\n              \u003Cimg src=\"\u002Fblog\u002Ficon\u002Fchabesu.png\" alt=\"チャベスのアイコン\" class=\"w-12 h-12 rounded-full border border-grayLight20 bg-white mb-1\">\n              \u003Cspan class=\"text-xs text-black6\">チャベス\u003C\u002Fspan>\n            \u003C\u002Fa>\n          \u003C\u002Fdiv>\n          \u003Cdiv class=\"flex-1\">\n            \u003Cdiv class=\"text-[.9em] leading-[1.6] font-normal tracking-[1px] flex flex-col gap-1\">\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">フィルタ条件の指定方法はプロパティ毎に違います。詳細は、下記の公式ページを参照して下さい。\u003C\u002Fp>\u003Cul class=\"list-square pl-6\">\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">\u003Ca href=\"https:\u002F\u002Fdevelopers.notion.com\u002Freference\u002Fpost-database-query-filter\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Filter database entries\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \n\n\u003Ca href=\"#notion-apiの公式ページ\" id=\"notion-apiの公式ページ\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">Notion APIの公式ページ\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">今回紹介した作成・更新・取得以外にもNotion APIを使うことでさまざまな操作をすることが可能です。Notion APIについてさらに詳しく知りたい方は、下記の公式ページを参考にしてみてください。\u003C\u002Fp>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">また、今回解説した内容は公式では以下のページにそれぞれ掲載されています。\u003C\u002Fp>\u003Cul class=\"list-square pl-6\">\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">データベースにページを作成：\u003Ca href=\"https:\u002F\u002Fdevelopers.notion.com\u002Freference\u002Fpost-page\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Create a page\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">データベースのページを更新：\u003Ca href=\"https:\u002F\u002Fdevelopers.notion.com\u002Freference\u002Fupdate-a-database\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Update a database\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"text-[15px] md:text-[16px] leading-[1.9] [li+&amp;]:mt-1\">データベース内のページを検索（取得）：\u003Ca href=\"https:\u002F\u002Fdevelopers.notion.com\u002Freference\u002Fpost-database-query\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">Query a database\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Ful>\u003Ca href=\"#おわりに\" id=\"おわりに\" style=\"pointer-events: none; cursor: text;\">\u003Ch2 class=\"blog-heading mt-8 mb-3 font-feature-palt\">おわりに\u003C\u002Fh2>\u003C\u002Fa>\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">今回は、PythonでNotion APIを使用する方法をサンプルコード付きで紹介しました。GASやJavaScriptでNotion APIを使用する方法についても他の記事で解説しています。ぜひ合わせてお読みください。\u003C\u002Fp>\u003Chr>\n\u003Cp class=\"text-[15px] md:text-[16px] leading-[1.9]\">参考：\u003Ca href=\"https:\u002F\u002Ffreelance.levtech.jp\u002Fguide\u002Fdetail\u002F1238\u002F\" class=\"text-black6 article-link\" target=\"_blank\" rel=\"noopener noreferrer\">【初心者】Pythonを効率よく勉強するには？無料サイトや参考書・ロードマップを解説｜レバテックフリーランス\u003C\u002Fa>\u003C\u002Fp>",[45,49,52,54,57,60,63,66],{"id":46,"text":47,"type":48},"python実行環境の準備","Python実行環境の準備","heading_2",{"id":50,"text":51,"type":48},"インテグレーションキー--データベースidの取得","インテグレーションキー \u002F データベースIDの取得",{"id":53,"text":53,"type":48},"必要なライブラリのインストール",{"id":55,"text":56,"type":48},"pythonでnotion-apiを使用しデータベース内にページを作るサンプルコード","PythonでNotion APIを使用しデータベース内にページを作るサンプルコード",{"id":58,"text":59,"type":48},"pythonでnotion-apiを使用しデータベースのページを更新するサンプルコード","PythonでNotion APIを使用し、データベースのページを更新するサンプルコード",{"id":61,"text":62,"type":48},"pythonでnotion-apiを使用しデータベースからページを取得するサンプルコード","PythonでNotion APIを使用しデータベースからページを取得するサンプルコード",{"id":64,"text":65,"type":48},"notion-apiの公式ページ","Notion APIの公式ページ",{"id":67,"text":67,"type":48},"おわりに",[],[],1794648406385]