...
いずれも、認証は学認におけるSPメタデータに記載されているTLSクライアント証明書認証により行います。証明書の extended Key Usage (eKU) に clientAuth が記載されていなければなりません。
people API
リクエストURL
Wiki マークアップ メンバーのみを取得 [https<span class="nolink">https://map.gakunin.nii.ac.jp/api/people/@me/]/</span>{*}{+}グループURLorID{+}*\[グループID\]*?lang=*\[言語{+}言語{+}*\]*
Wiki マークアップ 管理者のみを取得 [https<span class="nolink">https://map.gakunin.nii.ac.jp/api/people/@me/]*\[グループID\]*%2Fadmin/</span>{*}{+}グループURLorID{+}*%2Fadmin\[?lang=*\[言語{+}言語{+}*\]*
グループURL は、isMemberOfで取得することができる値をURLエンコードした値です。
例えば、isMemberOfで取得した値が下記の場合は、
(元の値)https *\[グループID\]* は、isMemberOfで取得することができる値をURLエンコードした値である。
例えば、isMemberOfで取得した値が下記の場合は、
(元の値)<span class="nolink">https://map.gakunin.nii.ac.jp/gr/GakuNinTF</span>
URLエンコード変換後は、下記となる。
GakuNinTF Wiki マークアップ
URLエンコード変換後は、下記となります。
(変換後の値)https%3A%2F%2Fmap.gakunin.nii.ac.jp%2Fgr%2FGakuNinTF
- %3A、%2Fのアルファベットは小文字も許容する。
Wiki マークアップ |
---|
また、短縮したグループIDも利用することが可能である。
isMemberOfが上記の(元の値)とした場合、短縮したグループIDは、*GakuNinTF{*}となる。
\\
管理者を取得する場合は、*%2Fadmin* を付与する。
管理者を取得する際の *\[グループID\]* にSPコネクタを指定する場合は、SP管理者が取得できる。
\\
設定値と取得できる値をまとめたものを下記に示す。 |
※ %3A、%2Fのアルファベットは小文字も許容します。
また、グループURLの短縮形の グループID を利用することも可能です。
isMemberOfが上記の(元の値)とした場合、短縮形のグループIDは、GakuNinTFとなります。
管理者を取得する場合は、グループURLもしくはグループIDに %2Fadmin を付与します。
SPコネクタのグループURLもしくはグループIDに %2Fadmin を付与すると、SP管理者が取得できます。
設定値と取得できる値をまとめたものを以下に示します。
グループURL/ID グループID | %2Fadmin | 取得値 |
---|---|---|
グループを指定 | 無 | グループメンバー一覧 |
〃 | 有 | グループ管理者一覧 |
SPコネクタを指定 | 無 | SPコネクタに接続するグループの全メンバー一覧 SPコネクタに接続する全グループの全メンバー一覧 |
〃 | 有 | SP管理者一覧 |
Wiki マークアップ |
---|
\\
\\
*\[言語\]* はオプション項目であり、レスポンスで返す言語を指定する。
指定できるTYPEは、en と ja であり、下記の優先順位でレスポンスを返す。
リクエストURLの言語指定 > 英語入力 > 日本語入力
\\
なお、英語、日本語ともGakuNin mAPに登録がなければ、当該属性自体が存在しない状態で返す。
\\ |
言語 はオプション項目であり、レスポンスで返す言語を指定します。
指定できるTYPEは、en と ja で、下記の優先順位でレスポンスを返します。
リクエストURLの言語指定 > 英語入力 > 日本語入力
なお、英語、日本語ともGakuNin mAPに登録がなければ、当該属性自体が存在しない状態で返します。
下記に例を示します。下記に例を示す。
GakuNin mAPに、氏名「日/英」、自己紹介「英」、所属「日/英とも空欄」で登録されていた場合、
リクエストの言語指定が「ja」であった場合は、氏名「日」、自己紹介「英」、所属「無し」を、
リクエストの言語指定が「en」であった場合は、氏名「英」、自己紹介「英」、所属「無し」を、
リクエストの言語指定がない場合は、氏名「英」、自己紹介「英」、所属「無し」を返す。 リクエストの言語指定がない場合は、氏名「英」、自己紹介「英」、所属「無し」を返します。
項目 | 日本語の登録 | 英語の登録 | lang=ja | lang=en | 言語指定なし |
---|---|---|---|---|---|
氏名 | 有 | 有 | 日本語 | 英語 | 英語 |
自己紹介 | - | 有 | 英語 | 英語 | 英語 |
所属 | - | - | - | - | - |
レスポンス
コード ブロック | ||||
---|---|---|---|---|
| ||||
\{ "totalResults" : <ユーザ数>, "entry" : \[ \{ "id" : \{"mAPのeduPersonTargetedID<mAPのeduPersonTargetedID>"\}, "displayName" : <"氏名<氏名>">, "aboutMe" : <"自己紹介<自己紹介>">, "emails" : \[ \{"type" : "email", "value": <"mAPに登録したメールアドレス<mAPに登録したメールアドレス>">\} \], "languagesSpoken" : \[ \{"type": "languageSpoken", "value": <"mAPに登録した使用言語<mAPに登録した使用言語>">\} \], "organizations" : \[ \{"type":"organization","value" :\{"name":< "mAPに登録した所属<mAPに登録した所属>">\}\} \], "map_IdPEntityIDs" : \[ \{"type" : "map_IdPEntityID", "value" : "https://xxxxxx/idp/shibboleth"\}, \{"type" : "map_IdPEntityID", "value" : "https://zzzzzz/idp/shibboleth"\}... \], ・・・... \} \]\} |
フィールド名 | 内容 | 備考 |
---|---|---|
totalResults | ユーザ数(全ての属性が許可されない場合そのユーザ分は差し引く) | Required |
id | mAPのeduPersonTargetedID |
|
displayName | 氏名 |
|
aboutMe | 自己紹介 |
|
emails | メールアドレス |
|
languages Spoken | 使用言語 | "en"もしくは"ja" |
organizations | 所属 |
|
map_IdPEntityIDs | 認証に利用するIdP(entityID) | 複数可 |
※ Required以外のフィールドは、利用者が同意したフィールドのみ送られます。また、全てのフィールドが存在しない(同意されていないもしくはSPが要求していない)場合はオブジェクトごと無くなります。
groups API
リクエストURL
\\
・SPコネクタに接続しているグループ情報の取得
[https:/ ※ id には、mAPが発行する永続的な識別子です。SP毎に異なる値になりますが、同一SPに対しては同一ユーザについて常に同じ値を返します。 Wiki マークアップ
例: "https:\/\/map.gakunin.nii.ac.jp/api/groups/@me?lang=]*\[言語\]*
※クライアント証明書を検証する。(該当SPのみ利用できる)
\\
*\[言語\]* はオプション項目であり、レスポンスで返す言語を指定する。
指定できるTYPEは、enとjaであり、下記の優先順位でレスポンスを返す。
リクエストURLの言語指定 > 英語入力 > 日本語入力
\\
なお、英語、日本語ともGakuNin mAPに登録がなければ、当該属性自体が存在しない状態で返す。
\\\/idp\/shibboleth!https:\/\/sp.example.ac.jp\/shibboleth-sp!S8Xi7R5Wf1pd8k8lq9eoiXyCtmw="
※ 特に、文字列中にUnicodeのコード表記(例:\u3042)の形式の文字を含む可能性があります。
groups API
リクエストURL
- SPコネクタに接続しているグループ情報の取得
言語]
言語 はオプション項目で、レスポンスで返す言語を指定します。
指定できるTYPEは、enとjaであり、下記の優先順位でレスポンスを返します。
リクエストURLの言語指定 > 英語入力 > 日本語入力
なお、英語、日本語ともGakuNin mAPに登録がなければ、当該属性自体が存在しない状態で返します。
下記に例を示します。下記に例を示す。
GakuNin mAPに、グループ名「日/英」、紹介文「日」で登録されていた場合、
リクエストの言語指定が「ja」であった場合は、グループ名「日」、紹介文「日」を、
リクエストの言語指定が「en」であった場合は、グループ名「英」、紹介文「日」を、
リクエストの言語指定がない場合は、グループ名「英」、紹介文「日」を返す。 リクエストの言語指定がない場合は、グループ名「英」、紹介文「日」を返します。
項目 | 日本語の登録 | 英語の登録 | lang=ja | lang=en | 言語指定なし |
---|---|---|---|---|---|
グループ名 | 有 | 有 | 日本語 | 英語 | 英語 |
紹介文 | 有 | 無 - | 日本語 | 日本語 | 日本語 |
レスポンス
上記リクエストのレスポンスを下記に示す。上記リクエストのレスポンスを以下に示します。
コード ブロック | ||||
---|---|---|---|---|
| ||||
\{ "totalResults" : <グループ数>, "entry" : \[ \{ "id" : <"グループID<グループURL>">, "title" : <"グループ名<グループ名>">, "description" : <"グループの紹介<グループの紹介>">, "map_totalMembers" : <グループの参加人数><グループのメンバー数> \}, ・・・... \]\} |
- グループIDは、isMemberOfで取得することができるURL形式の値
エラーレスポンス(共通)
...
※ <グループURL> は、isMemberOfで取得することができるURL形式の値のJavaScriptでの表現
例: "https:\/\/map.gakunin.nii.ac.jp\/gr\/GakuNinTF"
※ <グループのメンバー数> には、管理者のみの人(管理者であるがメンバーでない人)は含まれません。また、属性送信に同意しているかどうかに関わらずカウントされますので、people APIを通して取得した数より大きい可能性があります。
※ 特に、文字列中にUnicodeのコード表記(例:\u3042)の形式の文字を含む可能性があります。
エラーレスポンス(共通)
mAPでのエラーコード
HTTPステータス | 原因 |
---|---|
400 | APIのURL不正 |
403 | ・提示された証明書が学認参加SPのものでない場合 |
404 | 指定されたグループがない場合 |
※レスポンスに返すデータが0件の場合は空配列のentryを返す。※ レスポンスに返すデータが0件の場合は空配列のentryを返します。