generated at
ScrapboxのprivateプロジェクトのAPIを叩く
privateプロジェクトに限らないので整理したい
だがあちこちからリンクされているので、このページは存続させることにした(2023-08-09)

2018-12-17
publicプロジェクトのAPIは単純にGETすればデータが得られるが、privateプロジェクトでそれをやると401になる。(当たり前)

ログイン状態でprivateプロジェクトにアクセスすると、クッキーに認証情報がセットされる。これを使う。

このクッキーはSecureHttpOnlyなのでdocument.cookieを見てもわからない。
>To prevent cross-site scripting (XSS) attacks, HttpOnly cookies are inaccessible to JavaScript's Document.cookie API

Chrome Devtoolsだとここで見れる。

具体的には"connect.sid"という名前で認証情報が入っている。これを例えばrequestsに渡せば良い。
python
cookies={"connect.sid": "..."} r = requests.get("https://scrapbox.io/api/pages/...", cookies=cookies)

このconnect.sidは2018年の今時点で2020年までexpiresしないやつなので当面アクセスできる。
もしうっかりこの情報を漏らしてしまった場合にリセットする方法があるかどうかは知らないので気をつける必要がある。
ログアウトしてログインし直したら変わってた

thanks moriyoshi