paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

【駆け出しエンジニア向け】Python・Notionを使った情報整理革命

みなさんはどのように情報を整理していますか。例えば、新しい技術の情報を効率的に整理することで生産性を向上させることができます。私自身も過去に色々な手段を試してみましたが、最近ではNotionを使うことが多くなりました。

Notionは情報管理ツールであり、ノート、タスク、データベースなどをプラットフォーム上で管理でき、直感的なインターフェースで簡単に操作できます。

今回は、このNotionを活用した情報の整理法の利点、エンジニアらしくコーディングからの使用法について紹介します。


<この記事の著者>

上田茂雄(ueponx) - Tech Team Journal

愛知県在住で、現在はIoTと電子工作に情熱を持ち、プログラミングと最新のガジェットが好きです。新しい技術を学びながら実践的なプロジェクトに取り組んでいます。技術を磨き、常に新たな挑戦しています。


【目次】

Notionを使用するメリット

駆け出しのエンジニアにとっては、入手した情報をどのように整理し、どのように活用するか悩むこともあると思いますが、以下のような理由からNotionを使用することを提案します。

  1. 文書、スケジュールなどさまざまな情報を管理できます。さらに、オンライン上にあるため、どこからでも簡単に検索・整理することができ、時間の節約と効率の向上ができます。
  2. 情報共有と編集が簡単にできるため、チームや共同作業に非常に適しています。これにより、コミュニケーションが向上し、チーム全体の生産性が高まります。
  3. レイアウトが柔軟なツールで、ニーズに合わせて様々なテンプレートを追加して、ワークスペースを作成できます。これにより、さまざまな情報のまとめ方に対応できます。
  4. 整理した情報は簡単に共有できます。作成した情報を外部に向けた形で公開ドキュメントとしても使用できます。

Notionのデータベース化

エンジニアにとっても、情報の収集や整理をデータベースを使用・格納することは非常に効果的です。Notionを使用することで簡単に情報の公開を行うことも可能です。続いては、Notionを使用した基本的なデータベースの作成方法について説明します。

基本的なデータベースの作成方法

今回は以下のようなデータベースを作成してみます。保存する情報としてはリンクタイトルとURLとなり、それらをテーブルのプロパティとして設定していきます。


図 テーブル構造の完成形

では早速作成してみましょう。Notionでデータベースを作成するには以下のような手順を行います。ワークスペースに新規ページを作成し、その中にテーブルを作成します。ページ名(今回は”サンプルDB”としました)を入力し、画面下部にある【テーブル】をクリックします。

以下の画像は、新しく作成されたデフォルトのテーブルです。このテーブルをカスタマイズしていきます。

今回は、デフォルトで作成されるプロパティをタイトル(テキスト属性)とurl(URL属性)の2つに変更します。

これで、今回使用するデータベースのテーブルが完成しました。

Notion APIの準備

先ほど完成したデータベースを手動で編集したり、共同作業を行うメンバーへ公開設定してもよいのですが、更に一歩進めてNotion APIをPythonのプログラムから格納してみます。

Notion APIを使用するには2つの情報が必要になります。1つはインテグレーションと呼ばれるもので、他のサービスでいうならばAPIキーに当たるものです。もう一つはデータベースIDです。Notion APIを使用するためにこの2つを情報を事前に準備していきます。

インテグレーションの作成

インテグレーションの新規作成は以下のリンクへアクセスして行います。以下の画面で【新しいインテグレーションを作成する】のボタンをクリックします。

www.notion.so

基本情報画面で今回使用するインテグレーションの【名前】(今回は"NotionAPIテスト"とします)を入力し、【送信】ボタンをクリックします。これによりインテグレーションが作成されます。

作成したインテグレーションの【シークレット】にある内部インテグレーションシークレットをコピーして控えておきます。

またインテグレーションの作成後、データベースとインテグレーションの接続設定を行います。

データベースIDの取得

続いてはデータベースIDを準備します。先ほど作成したデータベースのテーブルのURLを確認すると以下のような形式になっています。

https://www.notion.so/[ドメイン名(省略可)]/[DATABASE ID(32桁の文字列)]?v=[VIEW ID] 

具体的には、下の図の部分 ”/” と ”?” で囲まれた部分の32桁の部分がデータベースIDとなります。この値をコピーして控えておきます。

PythonからNotion上のテーブルにデータを格納する

事前準備

今回のコードでは、requestsライブラリを使用してNotion APIにデータを送信しテーブルへ格納します。このライブラリを使うことで、HTTPリクエストを簡単に行うことができます。以下の操作を行いライブラリをインストールします。

$ pip install requests

PythonからNotionのデータベースへデータの格納

続いてPythonのコードを作成します。今回は説明の簡略化のため、ソースコードに直接、API_KEY(インテグレーションキー)やDATABASE_ID(データベースID)を記述していますが、実際には環境変数などに格納して使用することをお勧めします。

import requests

NOTION_API_KEY = '先ほど作成したインテグレーションのKEYを格納'
DATABASE_ID = 'データベースのURLから取得したデータベースIDを格納'

url = 'https://api.notion.com/v1/pages'

headers = {
    "Authorization": f"Bearer {NOTION_API_KEY}",
    "Content-Type": "application/json",
    "Notion-Version": "2022-06-28"
}

json_data = {
    'parent': { 'database_id': DATABASE_ID },
    'properties': {
        'タイトル': {
            'title': [
                {
                    'text': {
                        'content': 'Pythonで追加'
                    }
                }
            ]
        },
        'url': {
            'url': 'https://www.google.com'
        },
    },
}

response = requests.post(url, headers=headers, json=json_data)
if response.status_code == 200:
    print("データが正常に格納されました。")
else:
    print(f"エラーが発生しました: {response.status_code}")
    print(response.text)

今回はテーブルのプロパティとしてタイトルとurlを使用しているので、APIによる送信時のJSONデータは上記のようにしています。JSONデータの記述は、データベースの構成に合わせて修正をしてください。


図 Pythonコードの実行後のデータ格納の様子

おわりに

情報整理はエンジニアの基本スキルといえます。NotionとPythonを活用することで、情報整理のプロセスを自動化し、さらに効率を高めることも可能です。また、新しいツールや技術を積極的に使用することでエンジニアとしての成長にもつながります。Notionの柔軟性とPythonのプログラミングを組み合わせることで大きな効果を生み出すことができるでしょう。情報を一元管理し、自動化されたデータ入力が行えれば、大規模なプロジェクトや複数のタスクを抱える場合にも大きな武器になります。

今回の内容を通じて、自分なりの効率的な情報管理法を見出していただければ幸いです。

参考リンク
Notion API Overview
データベースの基本 – Notion (ノーション)ヘルプセンター

(文:上田茂雄)





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

paizaのおすすめコンテンツ

CGC codemonster プログラミングゲーム「コードモンスター大図鑑 プログラミングでゲットだぜ!」 PPG proken プログラミングゲーム「初恋 プログラミング研究会〜海に行こうよ〜」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.