✨
GakuNin RDM APIをつかってみる
概要
GakuNin RDMでは、以下でAPIが公開されています。このAPIの使用例について備忘録です。
参考
GakuNin RDMはOSF(Open Science Framework)をベースに構築されており、APIに関するドキュメントは以下で確認することができます。OpenAPIに準拠しています。
PATの取得
PAT(パーソナルアクセストークン)を取得します。
ログイン後、以下のURLから作成することができます。
利用
以下のようなスクリプトにより、プログラムからもアクセスすることができます。
.env
access_token=xxx
import requests
import os
from dotenv import load_dotenv
load_dotenv(verbose=True)
load_dotenv("./env")
access_token = os.environ.get("access_token")
# アップロードURLにクエリパラメータを追加
url = f'https://api.rdm.nii.ac.jp/v2/nodes/'
# ファイルを開き、PUTリクエストでアップロード
# with open(file_path, 'rb') as file:
response = requests.get(
url,
headers={
'Authorization': f'Bearer {access_token}'
}
)
response.json()
参考までに、Authorization
ヘッダーが未指定の場合、以下の結果が返却されました。
{'data': [],
'links': {'first': None,
'last': None,
'prev': None,
'next': None,
'meta': {'total': 0, 'per_page': 10}},
'meta': {'version': '2.0'}}
ブラウザで確認
APIの出力結果はブラウザでも確認することができます。
以下のように、Django REST frameworkで作成されていることがわかります。
また、おそらく「Django REST framework JSON:API」を使用し、JSON:APIが採用されていることがわかります。
まとめ
GakuNin RDMおよびOSF(Open Science Framework)のAPIについて、参考になりましたら幸いです。
Discussion