記事一覧 プロジェクト集 検索 このサイトについて
RSS English
researchmap業績登録の選択肢整理と、個人ユーザー向けPlaywright実装

researchmap業績登録の選択肢整理と、個人ユーザー向けPlaywright実装

本記事は生成AIと共同で執筆しています。事実関係は可能な範囲で公式ドキュメント等と照合していますが、誤りが含まれている可能性があります。重要な判断を行う前にご自身でも一次情報をご確認ください。 以前 researchmapの科研費と業績の紐付けをPlaywrightで自動化した という記事を書きました。今回はその続編として、業績そのものの登録を自動化した話をまとめます。 執筆途中でファクトチェックを行い、当初想定していた前提(「公式の書き込み手段はWeb UIに限られる」)が誤っていることが分かりました。この記事ではその過程も含めて、現時点の選択肢を整理した上で、なお自前のPlaywrightスクリプトに利点が残る部分を示します。 researchmap への書き込み手段の現状 1. 書き込みAPI(researchmap.v2 API) 公式仕様書: researchmap.v2 API設計書(V4.7) 19の業績種別すべてに対して、追加・更新・削除が可能なAPIが公開されています。認証はOAuth 2.0(JWT Bearer Flow)で、https://api.researchmap.jp/oauth2/token でアクセストークンを取得します。 利用には申請が必要で、現時点で公開されている運用は次のような形です。 申請書フォーマットは 大学等研究機関用 が用意されている WebAPI利用規約 第2条第3項(4) では「大学・研究機関等の機関としての申請でなく、個人としての申請と認められる場合(ただし、合理的な理由がある場合を除く。)」は承認しないことがあるとされている IPアドレスの固定指定が必要、利用は年度単位で継続申請 文言上は「合理的な理由がある場合」の例外条項があり、機関単位での運用が中心であることが想定されています。個人研究者として手元の業績だけを登録したい用途では、後述のCSV/JSONインポートやWeb UI操作が現実的な選択肢になります。 2. 公式CSV / JSON / JSONLインポート(個人ユーザー対象) 設定 > 「研究者・業績インポート」画面から、ログイン中の研究者本人の業績を一括登録できます。 対応フォーマット: JSON / CSV / JSONL / ZIP 全19業績種別に対応 1ファイル10MBまで 仕様書: v2CSV項目定義書、API設計書 に内部フォーマットとして記載 つまり個人ユーザーでも、JSONLを書ければ事実上の一括書き込みは可能です。 いくつか補足しておきたい点があります: 添付ファイル(PDF等)はインポートの対象外です。API設計書で dataset 配下のフィールドは全業績種別で「更新不可」と明記されています(presentations, published_papers, misc, works など全タイプ)。access_url 等は読み取り専用の出力フィールドです ZIPアップロードは「JSON/CSVファイルを複数同梱する」用途で定義されており、PDFを同梱する仕様ではありません インポート画面でのファイルアップロード操作はユーザー側で行う必要があります 3. Web UI 手動操作 1件単位の追加・修正なら最速です。ただし数十件規模になるとつらく、Git等での履歴管理もできません。 4. Playwrightによるブラウザ自動化(本記事) 公式CSVインポートで対応できる範囲はそちらを使えばよく、私が手元で自動化したかったのは次のような場面でした。 JSONLを書いたら、ファイルアップロード操作も含めて自動で完了させたい PDFを発表資料として添付したい:これは公式インポートのスコープ外 既存エントリをピンポイントで更新したい:「現在まで」を具体的な終了年月に置き換える等の単発編集をJSONL化して残しておきたい これらに対応するために自作したスクリプトを以下で紹介します。 ...