Notion API
https://developers.notion.com/
introduction
https://developers.notion.com/reference/intro
SDK は JavaScript の SDK のみしかない
Notion API を利用するためには、 integration token というものが必要です
integration token は、notion の設定ページから integration を追加すると、integration token を発行することができます。
integration について: https://developers.notion.com/docs/getting-started
integrationページはここからいける
https://www.notion.so/my-integrations
どうやってこのページに辿り着くのかはよくわからなかった...
参考: https://zenn.dev/kou_pg_0131/articles/notion-api-usage
Create new integration から workspace と name を決めて integration を作成する
Type は internal しか選べな買った
internal とは、選択したワークスペースでのみ利用できる integration ということ
作成すると Secrets が表示されるので、copy する
Capabilities を選択して、必要な権限を与えておく
basUrl は https://api.notion.com
Authorization ヘッダの付与の方法とかが見当たらない?
とりあえず Authorization: Bearer {token} をつければいいっぽい
Notion-Version というもの必要っぽい
Versioning のところに書いてあった
https://developers.notion.com/reference/versioning
Notion API の Notion-Version とは
API を叩くためには、page に権限を与える必要がある
ページの右上の ... から、 Add connections > 先ほど作成した integration を選択
https://gyazo.com/bfc73111c958b99930b519caab7b2251
API Reference
GET /v1/pages/{page_id}
https://developers.notion.com/reference/retrieve-a-page
ID指定で Page オブジェクトを取得する
レスポンスにはページのプロパティだけ返ってきます。content(中身)は返ってきません。
中身は Block children取得 API を使って取得する必要があります
タイトルくらいしか情報は返ってこない
GET /v1/blocks/{block_id}
bock_id として page_id を渡すこともできる
これも大した情報はかえってこtなくて、ほぼ pages と一緒
has_children パラメータが返ってくるのと
GET /v1/blocks/{block_id}/children
block_id で指定したページの中身が取得できる
notion では、子ページを作成するとき、必ず親ページからリンクが貼られるので、あるページの子ページ一覧を取得したい場合は、children を指定して、page_link 一覧を取得すればページ一覧が取れる