始める前に完了しておくべきこと
このチュートリアルを開始する前に、次の 3 つの手順を完了する必要があります。
- サンドボックス メンバー API 資格情報の要求
- サンドボックスを作成する ORCID アカウント
- Google OAuth プレイグラウンドを構成する
このチュートリアルでは、 ORCIDのテスト環境、 ORCID Sandbox . サンドボックスはプロダクションと同じように機能します ORCID いくつかの例外を除いて、レジストリ:
- サンドボックスはメールのみを送信します mailinator.com アドレス
- インポート ウィザード ツールの大部分がサンドボックスで機能しない
- 情報コンテンツ (About、For Researchers、Membership など) へのメニュー リンクがサンドボックスで機能しない
- サンドボックスには本番データが含まれていません
サンドボックス メンバー API 資格情報の要求
API クレデンシャルは、 クライアントID と クライアントシークレット 認証された iD および/またはユーザーのアクセス許可を収集して、 ORCID 記録。 サンドボックス資格情報を申請してください コチラから. Google OAuth Playground でテストしていることを知らせるメモを追加します。 これは手動のプロセスであり、資格情報が作成されるまでに最大 24 時間かかる場合があることに注意してください。
サンドボックスを作成する ORCID アカウント
新しいウィンドウまたはタブで、にアクセスしてください https://sandbox.orcid.org/register
- 名前とメールアドレスを入力し、「次へ」ボタンをクリックします。 重要! 実際のメールアドレスは使用しないでください。 代わりに、@mailinator.com で終わるアドレスを作成してください
- パスワードを使用して登録フォームのステップ 2 を完了し、ステップ 3 に進みます。
- お好みの表示設定を選択し、利用規約に同意し、「私はロボットではありません」というテキストの横にあるボックスをクリックし、最後に「登録」ボタンをクリックします。
電子メールとパスワードを覚えておいてください。これらはチュートリアル全体で必要になります。
あなたの構成 Google OAuth プレイグラウンド
- Google OAuth プレイグラウンド
- 右上隅の歯車アイコンをクリックして、 OAuth 2.0 の構成

- [Oauth エンドポイント] ドロップダウンを [カスタム] に変更し、次の設定を入力して [閉じる] をクリックします。
重要! 上記の手順で行った構成が失われないように、Google OAuth Playground を開いたままにしておきます。 これらの構成で Playground を初期化できる URL を保存することもできます (URL を取得するには、右上隅の歯車アイコンの横にあるリンク アイコンをクリックします)。
認証済みの収集 ORCID ID と権限
ORCID 統合では、「3レッグOAuth」を使用してユーザーを認証し、ユーザーのレコードを操作するための許可を要求します。 どの統合でも、パブリックAPIを使用して読み取り権限を要求できます。 ORCID メンバーは、メンバー API を使用して読み取りと書き込みのアクセス許可を要求できます。
このセクションでは、認証を取得するために独自のカスタム統合を完了する必要がある手順について説明します iD への読み取りと書き込みの許可 ORCID 記録
認証を取得する iD ユーザーからのレコード アクセス許可には、以下が含まれます。 OAuth 2.0、認可のための業界標準プロトコル。 OAuth を使用すると、ユーザーは別のサイトに保存されているアカウント情報へのアクセス権を Web サイトまたはアプリケーションに与えることができます。そのサイトにパスワードを与える必要はありません。
特定のサイトの資格情報ではなく、Google または Facebook を使用してサイトにサインインしたことがある場合は、すでに OAuth を使用しています。
OAuth プロセスには、次の 3 つの手順が含まれます。
- 認証 URL を作成する
- 認証コードを取得する
- アクセス トークンの認証コードを交換する
OAuth プロセスを開始するには、ユーザーを ORCID サインイン画面。 この URL は 認可エンドポイント、プラス パラメーター 組織と要求する権限を識別するもの。
活動 (所属、資金提供、作品、査読、研究リソース) の追加/更新、および個人的なアイテム (他の名前、キーワード、国、研究者の URL、ウェブサイト、および個人の外部識別子) の追加/更新の許可を求めるには、認証 URL は次のようになります。
https://sandbox.orcid.org/oauth/authorize?client_id=[APP-****************]&response_type=code&scope=/read-limited%20/activities/update%20/person/update&redirect_uri=https://developers.google.com/oauthplayground
ただし、Google OAuth プレイグラウンドを使用して、認証 URL を作成することができます
/activities/update、/person/update、/read-limited をスコープ フィールドに追加し、API の承認をクリックします。
認証 URL は、構成フィールドとスコープ フィールドに入力した情報を使用して作成されます。
An ORCID サインイン画面が表示されます。 作成に使用した電子メール アドレスとパスワードを使用してサンドボックス アカウントにサインインします。 ORCID このチュートリアルの最初のアカウント。 サインインすると、OAuth 画面が表示されます。 認証 URL に含まれていたクライアント名と関連スコープがこの画面に表示されます。 アクセスを許可するには、「アクセスを許可する」
アクセス許可を付与すると、Google OAuth Playground にリダイレクトされます。これは、サンドボックス資格情報に関連付けられたリダイレクト URI であるためです。 6 文字の認証コードが、ブラウザのアドレス バーのリダイレクト URI の末尾 (および ステップ 2 google oauth プレイグラウンドのページの左側にあるセクション)
認証コードを取得したら、それをアクセス トークンと認証済みの iD これは、アクセス許可を要求した API アクションを実行するために必要です。
アクセス トークンを紛失した場合は、プロセスをもう一度完了することができますが、同じものを使用している場合は、最初にクライアント アプリケーションのアクセス許可を取り消す必要があります。 ORCID ID。 「信頼された団体」ページの「信頼された組織」セクションからクライアント アプリケーションを削除することで、アクセス許可を取り消すことができます。
実際の状況では、この交換は、PHP、Java、または Ruby on Rails などのプログラミング言語を使用して、システムによって行われます。 このチュートリアルでは、Google OAuth Playground を使用して Web アプリケーションをシミュレートします。
【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 「トークンの交換認証コード」
をクリックしたらトークンの認証コードを交換するあなたのアクセストークンと認証済み iD に表示されます リクエスト・レスポンス 右側のセクション。 以下の例を参照してください。
このトークンを保存してください!
必要な呼び出しを簡単に作成できるため、上記の手順で受け取ったトークンを保存することが重要です。 完全なトークン交換応答を保存することをお勧めします
これで、認証済みの ID およびユーザーからの読み取り許可 ORCID 記録し、更新する ORCID 記録。
への書き込み ORCID 記録 (投稿)
このセクションでは、教育機関をサンドボックス レコードに追加します。 次の例では、/education エンドポイントを使用しています。 正しい XML 情報を追加しますが、たとえば雇用や仕事を追加することもできます。 私たちを参照してください Github ドキュメント より多くのサンプル ファイルとエンドポイント、およびそれぞれに必要なアクセス許可については、.
この演習で使用できる Education XML の例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<education:education
xmlns:common="http://www.orcid.org/ns/common" xmlns:education="http://www.orcid.org/ns/education"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.orcid.org/ns/education ../education-3.0.xsd ">
<common:department-name>department-name</common:department-name>
<common:role-title>role-title</common:role-title>
<common:start-date>
<common:year>1948</common:year>
<common:month>02</common:month>
<common:day>02</common:day>
</common:start-date>
<common:end-date>
<common:year>1948</common:year>
<common:month>02</common:month>
<common:day>02</common:day>
</common:end-date>
<common:organization>
<common:name>common:name</common:name>
<common:address>
<common:city>common:city</common:city>
<common:region>common:region</common:region>
<common:country>AF</common:country>
</common:address>
<common:disambiguated-organization>
<common:disambiguated-organization-identifier>http://dx.doi.org/10.13039/100000001</common:disambiguated-organization-identifier>
<common:disambiguation-source>FUNDREF</common:disambiguation-source>
</common:disambiguated-organization>
</common:organization>
<common:url>http://tempuri.org</common:url>
<common:external-ids>
<common:external-id>
<common:external-id-type>grant_number</common:external-id-type>
<common:external-id-value>external-identifier-value</common:external-id-value>
<common:external-id-url>http://tempuri.org</common:external-id-url>
<common:external-id-relationship>self</common:external-id-relationship>
</common:external-id>
<common:external-id>
<common:external-id-type>grant_number</common:external-id-type>
<common:external-id-value>external-identifier-value2</common:external-id-value>
<common:external-id-url>http://tempuri.org/2</common:external-id-url>
<common:external-id-relationship>self</common:external-id-relationship>
</common:external-id>
</common:external-ids>
</education:education>
Google Playground のブラウザ タブに戻ります。 タブを開いたままにしなかった場合は、以前に保存した URL を使用してセッションを再初期化できます (警告が表示されたら [OK] をクリックします)。 または、関連するすべてのフィールドに入力して、以下のスクリーンショットのようになっていることを確認して、通話を再度設定することもできます。
- ことを確認してください の監視 あなたが持っている クライアント ID およびクライアント シークレット
- google oauth プレイグラウンド内のステップ 2 の下に、 アクセストークン 記入
以前のトークンがまだ残っている必要があります。または、次のように前の演習から入力することもできます。 - ステップ3の下にあるクリック ヘッダーを追加するをクリックし、以下の値を入力してから、 追加 肩のリボンは気分によって 閉じる
- ヘッダー名: 同意
- ヘッダー値: アプリケーション/vnd。orcid+ xml
- [ステップ 3: API へのリクエストの構成] の下で、HTTP メソッドを POST に設定します。
- メディア URIをリクエストする フィールド入力:
https://api.sandbox.orcid.org/v3.0/[ORCID ID]/education
交換 [ORCID ID] と iD サンドボックス レコードの場合は、対話する許可を収集した XXXX-XXXX-XXXX-XXXX の形式で指定します。 - 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 コンテンツタイプ > カスタム application/vnd と入力します。orcid+xml クリック 追加、[OK]をクリックします 閉じる.
- 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 リクエスト本文を入力してください.
このセクションの上部にある教育機関の XML をコピーして、 リクエスト本文 テキストボックス
任意: メディア リクエスト本文 テキスト ボックスで、機関を反映するように XML を編集します。
為に、 使用 RORレジストリ RORを見つける ID あなたの機関のためにn.
【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 閉じる.
- 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 リクエストを送信する.
結果は リクエスト・レスポンス 右のセクション。 一番下までスクロールします - 表示されている場合 HTTP/1.1 201 が作成されました、教育機関が正常に追加されました!
また、次のセクションで必要になる put コードを保存してください!
https://sandbox で Sandbox レコードのパブリック ビューにアクセスします。orcid.org/[ORCID ID] をクリックして、あなたの新しい学歴を確認してください。
ソースには、アフィリエーションを追加した API クライアントの名前が表示されることに注意してください。これは、他のシステムが使用するのに役立つ重要な要素です。 ORCID データは、この情報が信頼できるかどうかを決定します。
の更新 ORCID 記録 (PUT)
実際の状況では、研究者の所属を更新する必要がある場合があります。 このセクションでは、教育機関の所属を更新して終了日を含めます。
プット コードは、特定のアイテムを参照する短い数値コードです。 ORCID 記録。 API 呼び出しで put コードを使用して、特定のアイテムを更新、削除、または読み取ります (アイテムの概要とは対照的です)。
の各アイテム ORCID iD それを一意に識別するプットコードが割り当てられます。 レコードまたはセクション全体を読み取る場合、プットコードはアイテムの属性として見つけることができます。 いつ レコード上の特定のアイテムを呼び出す、プットコードはアイテムを識別するために使用されます。 プットコードは、参照するアイテムのタイプ内で一意です。 この例を使用すると、 ORCID レジストリにはプットコード733535がありますが、733535は資金調達アイテムまたはキーワードのプットコードとしても使用できます。
アイテムを研究者の記録に投稿すると、API 応答にそのアイテムの投稿コードが含まれます。 その項目を読み取り、更新、または削除する必要がある場合は、後で使用するために put コードを保存できます。
持っていない特定のアイテムの put コードを見つけるには、レコードまたはそのアイテムが配置されているセクションの概要を読み取る必要があります。 変更したいアイテムの put コードがレスポンスで返されます。
以下の例では、単一の教育項目を更新しています。
注: 教育機関の put コードを保存した場合は、以下のステップ 4 にスキップできます。 put コードを保存していない場合は、以下のステップ 1 から始めてください。
- まず、取得する必要があります コードを入れる 追加したばかりの教育機関の場合は、新しい Google Playground ウィンドウを開き、[はじめに] セクションの最初の 4 つの手順に従ってセットアップします
- 今回は、[Request URI] フィールドに https://api.sandbox と入力します。orcid.org/v3.0/0000-XXXX-XXXX-XXXX/教育 . URI の末尾に /educations が追加されており、複数形であることに注意してください。 これは、XNUMX つだけではなく、このレコードのすべての教育項目の要約を取得していることを意味します (単数形にして、最後に項目の /put-code を追加します)。
- [リクエストを送信] をクリックすると、下の画像のようなものが表示されます。 リクエスト・レスポンス セクション。 を見つける プットコード 前のセクションで追加した教育機関の所属 (ここで強調表示されているものとは異なる番号になります)。
- 変更する HTTPメソッド 〜へ PUT
- 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 ヘッダーを追加 Accept と Content-type の両方が application/vnd に設定されていることを確認します。orcid+ xml
- メディア URIをリクエストする フィールド入力:
https://api.sandbox.orcid.org/v3.0/[ORCID ID]/education/[PUT CODE]
交換 [ORCID ID] と iD サンドボックス レコードの場合は、XXXX-XXXX-XXXX-XXXX の形式で、[PUT CODE] に教育機関の put-code を入力します - POST セクションから XML を再度取得し、クリックします。 リクエスト本文を入力してください に貼り付けます。
- 所属教育機関の終了日を編集する
- 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 閉じる.
- [リクエストを送信] をクリックします。
- 結果は リクエスト・レスポンス 右のセクション。 一番下までスクロールします - 表示されている場合 HTTP / 1.1 200 OK、教育機関の所属が正常に更新されました。 エラー メッセージが表示された場合は、 ヘッダーを追加する 化されたテキストに変更されていません。例: application%2Fvnd.orcid%2Bxml」
- 訪問 パブリック ビュー https://sandbox で Sandbox レコードのorcid.org/[ORCID ID] をクリックして、新しい終了日が入力された更新された教育機関を確認します。
を読む ORCID 記録 (GET)
Google Playground のブラウザ タブに戻ります。 タブを開いたままにしなかった場合は、以前に保存した URL を使用してセッションを再初期化できます (警告が表示されたら [OK] をクリックします)。 または、関連するすべてのフィールドに入力して、以下のスクリーンショットのようになっていることを確認して、通話を再度設定することもできます。
- ことを確認してください の監視 あなたが持っている クライアント ID およびクライアント シークレット
- ステップ 2 あなたが持っている必要があります アクセストークン 記入
以前のトークンがまだ残っている必要があります。または、次のように前の演習から入力することもできます。 - ステップ3クリック ヘッダーを追加するをクリックし、以下の値を入力してから、 追加 肩のリボンは気分によって 閉じる
- ヘッダー名: 同意
- ヘッダー値: アプリケーション/vnd。orcid+ xml
- ステップ 3 の構成は、次のスクリーンショットのようになります。
- HTTP メソッドを GET.
- リクエスト URI フィールドに次のように入力します。
https://api.sandbox.orcid.org/v3.0/0000-XXXX-XXXX-XXXX/record
交換 [ORCID ID] と iD Sandbox レコードの場合、XXXX-XXXX-XXXX-XXXX の形式で指定します
注: 終点 URI の末尾にある単語です。 この場合、私たちは 要約 上記のように /record で URL を終了します。 - 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 リクエストを送信する
Request/Response フィールドに、レコード全体の XML 要約が表示されます。 応答の最初の部分を示す以下の例に少し似ています。 前のセクションで説明したように、プット コードを強調表示しました。