パブリックインテグレーションの設定
Notion APIドキュメントを日本語訳し、筆者の言葉で非開発者でも理解できるよう編集しました。
なお本記事は「Authorization」のページの一部を抽出し、パブリックインテグレーション(以下、「パブリック」)の設定方法についてのみ解説する記事です。
また基本的な専門用語等の説明については、その言葉の定義や概念が複雑な場合、または文章の前後を理解するにあたって説明が必要であると判断した場合など、筆者の判断にて補足として記載することとしています。
パブリックインテグレーションとは?
パブリックインテグレーションとは、Notion APIを組み込んだコンテンツを外部ユーザーが利用できるようにするための設定です。
外部ユーザーがパブリックを介したコンテンツを利用できるようになるまでには、以下のような手順を踏む必要があります。
- 開発者がパブリックを設定する
- 開発者はユーザーのワークスペースのページなどへアクセスするための許可を得るため、認証フローを構築する
- ユーザーが開発者のコンテンツ内で認証フローを完了させる
- ユーザーの許可を確認したNotionが、開発者のコンテンツへアクセストークンなどの必要な情報を返す
- ユーザーはコンテンツを利用できるようになる
パブリックインテグレーションの設定方法
パブリックの設定はインターナルに比べて入力項目が多く、非開発者だと理解しづらい部分もあるでしょう。 この章では、非開発者でも理解できるように噛み砕いて解説します。
- 最初にインターナルインテグレーションの設定を完了させます。
- ディストリビューションの「パブリックインテグレーションに設定しますか?」をONにする。(ONにしたら、インテグレーションを削除しない限りOFFにできません)
- 同じ画面の下部にある項目を埋めてて、最下部の送信をクリックする。
以上までで、パブリックインテグレーションの設定は完了です。
パブリック設定後の認証フローのイメージ概要
さて、パブリック設定の完了後はいよいよ認証フローの構築とユーザーによる許可操作という流れに突入します。
しかしそれらすべてを本記事で解説すると構成として分かりづらいと判断し、ここではこの後の具体的なイメージのみ紹介いたします。
1.ユーザーによるアクセス認証
開発者が以下のようなページを用意します。
ユーザーが「クリックして認証を行う」をクリックすると次のステップに進みます。
2.プロンプト画面による許可操作
その後、ユーザーのブラウザには以下のような画面が表示されます。 ユーザーは画面の表に沿って、許可操作を進めていきます。
3.ユーザーによる認証の完了
上記までのユーザーによるアクセス許可が完了すると、Notion APIがユーザーのワークスペースページへアクセスできるようになります。
「Authorization(オーソリゼーション)」で必要になるもの
最後にパブリックの設定後の流れを紹介しましたが、このフローを実現するには次の記事の「Authorization(オーソリゼーション)」に沿ったプログラムを構築しなければいけません。
もっとも重要であり情報量の多い内容ですが、まぁ覚悟しましょう。
具体的には、以下のような作業が必要になります。
つまりNotionが返してくるコードを受け取り、それをトークンに変換して……といった複雑な話になってくるわけです。
そこで、できればで良いのですが、以下のようなものを用意していただくと一連の流れでより深く理解できると思います。
本記事ではパブリックインテグレーションの設定を分かりやすくイメージしてもらうため、API認証後に遷移するリダイレクトURIを適当なURLで設定して良いとしました。
しかし本来、リダイレクトURIはNotionから送られてくるコードを受け取るためのものと考えなければいけません。
これは一般的にサーバーサイドで行うことであり、非開発者では理解できない部分も多いかと思います。
「Authorization(オーソリゼーション)」においても、極力、非開発者にも理解できる記事にするよう努力しますが、そもそも「サーバーサイドって何?」というレベルだと正直厳しいところがあります。
そのためサーバーやPHPの知識が最低でも必要になるのです。
尚、筆者自身はいろいろ知識ゼロからプログラミングをはじめて、最初に使ったのが以下のサーバーでした。 理由は「初心者でも分かりやすい」からです。
既にサーバー契約があるならそれでも構いませんし、プログラミングの知識があるならPHPでなくても問題ありません。
ただ次回以降も「非開発者がゼロからNotion APIを使う」というのを意識した記事となりますので、まずは上記3つのリソースを元に解説するということをあらかじめお知らせしてこの記事を締めたいと思います。






