インテグレーションキーと初期設定スクリプトの作成: NotionRubyMapping 解説 (2)

はじめに

NotionRubyMapping 解説の第2回目です。昨日は gem のインストールを行いました。今日は、インテグレーションキーの作成をして、その設定用スクリプトを作成します。

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

インテグレーションキーは専用のページで作成するのですが、Notion アプリの設定からそのページに飛ぶことができます。最近のアップデートで設定がワークスペースの下に移動したようです。ここから「設定」をクリックします。

設定リンク
コネクトの下に「インテグレーションを作成または管理する」というリンクがあるのでクリックします。
インテグレーションを作成リンク

「新しいインテグレーションキーを作成する」とワークスペースの選択と名前の設定画面になります。以前はここでオプションを設定していましたが、今はロゴのアップロードまでしかありません。

名前の設定

機能の選択は、作成後に左側の「機能」から設定します。今回は全ての機能をテストしてみたいので、全部にチェックをいれ、メールアドレスを含むユーザ情報を読み取ることにします。

機能

最後にシークレットで表示したのちに、コピーを押すとクリップボードにコピーされます。

シークレット

インテグレーションの接続

作成したインテグレーションキーを使いたいページに接続します。右上の「…」のメニューから設定します。以前は「コネクト」という名称でしたが、「接続先」と変わっているようです。似たようなインテグレーションキーがありますが、今回作ったものを接続してみます。

接続先

初期設定スクリプトの作成

NotionRubyMapping を使うには以下の手続きが必要です。

  1. require "notion_ruby_mapping"

    NotionRubyMapping を読み込みます。NotionRubyMapping module が読み込まれます。

  2. include NotionRubyMapping

    この状態だと全てのクラスに NotionRubyMapping::Page のようにモジュール名を書かないといけません。これは面倒なので、NotionRubyMapping を Mix-in してしまいます。

  3. NotionRubyMapping.configure { |c| c.token = "シークレットキー" }

    インテグレーションキーを設定します。

毎回この作業を手動でやるのは面倒なので、初期設定用のスクリプトを記述します。私の場合は、 ~/bin/nrm_init.rb というファイルを書きました。

require "notion_ruby_mapping"
include NotionRubyMapping
NotionRubyMapping.configure { |c| c.token = "シークレットキー" }

この後の連載では NotionRubyMapping を irb という対話的に利用できる Ruby の上で使っていきます。irb を起動した後で、ここで作成したスクリプトを読み込みます。エラーが出ず true と出てくれば読み込みは成功しています。例えば、Page のようにすると NotionRubyMapping::Page として Mix-in した Page クラスが表示されるはずです。irb を終了するには quit とします。

irb
irb(main):001> load "/Users/hkob/bin/nrm_init.rb"
=> true
irb(main):002> Page
=> NotionRubyMapping::Page
irb(main):003> quit

おわりに

インテグレーションキーの作成が長くなったので、今日はここまでにします。明日以降は、これを使ってブロックの作成などから解説していこうと思っています。作業ページなどは以下のページの下に作成していく予定です。

NotionRubyMapping解説