ZoteroのAPIとStreamlitを使ったアプリを試作しました。
https://nakamura196-zotero.streamlit.app/

本記事は、このアプリ開発におけるメモです。
Streamlit#
以下の記事がとても参考になりました。
https://qiita.com/sypn/items/80962d84126be4092d3c
ZoteroのAPI#
ZoteroのAPIについて、以下で説明されています。
https://www.zotero.org/support/dev/web_api/v3/start
今回は上記のページで紹介されている以下のライブラリを使用しました。
https://github.com/urschrei/pyzotero
APIの利用にあたっては、personal library IDやAPI keyを取得する必要がありますが、READMEのQuickstartの手順に従うと、それらを取得することができました。
以下は、API keyを発行した際の画面です。

Streamlitを用いた開発#
以下のリポジトリでソースコードを公開しています。
https://github.com/nakamura196/zotero_streamlit
機密情報#
機密情報は、/.streamlit/secrets.tomlというファイルを作成し、そこに記載するようでした。.gitignoreに記載することも忘れないようにしてください。
そして、以下のように呼び出すことができました。
Zoteroライブラリのコレクション一覧の取得#
以下ので、Zoteroライブラリからコレクションの一覧を取得することができました。
コレクション内のアイテムの取得#
以下でコレクション内のアイテムを取得できました。itemTypeがattachmentのものはスキップする処理を加えています。
メタタグ設定#
以下のような形で、タイトルなどのページ設定を行うことができました。
デプロイ#
開発中の画面の右上の「Deploy」ボタンから、Streamlit Community Cloudに簡単にデプロイできました。

その際、Advanced settingsにおいて、/.streamlit/secrets.tomlに記載した情報を追加することで、サーバ上でも機密情報を利用することができました。

まとめ#
Streamlitを使うことで、Webアプリを簡単に作成することができました。
Zotero APIの利用など、参考になりましたら幸いです。