ページ ツリー

このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 ページ履歴を表示

« 前のバージョン バージョン 2 次のバージョン »

現在GakuNin mAPで利用できるAPIは2種類あります。いずれもOpenSocialをベースとしたフォーマットでレスポンスはJSON形式です。

  • #people API
    グループを指定してそのメンバーに関する情報を取得するためのAPI
  • #groups API
    SPコネクタに接続しているグループに関する情報を取得するためのAPI

いずれも、認証は学認におけるSPメタデータに記載されているTLSクライアント証明書認証により行います。証明書の extended Key Usage (eKU) に clientAuth が記載されていなければなりません。

people API

リクエストURL

[グループID] は、isMemberOfで取得することができる値をURLエンコードした値である。
例えば、isMemberOfで取得した値が下記の場合は、
(元の値)<span class="nolink">https://map.gakunin.nii.ac.jp/gr/GakuNinTF</span>
URLエンコード変換後は、下記となる。
(変換後の値)https%3A%2F%2Fmap.gakunin.nii.ac.jp%2Fgr%2FGakuNinTF

  • %3A、%2Fのアルファベットは小文字も許容する。

また、短縮したグループIDも利用することが可能である。
isMemberOfが上記の(元の値)とした場合、短縮したグループIDは、GakuNinTFとなる。
管理者を取得する場合は、%2Fadmin を付与する。
管理者を取得する際の [グループID] にSPコネクタを指定する場合は、SP管理者が取得できる。
設定値と取得できる値をまとめたものを下記に示す。

グループID

%2Fadmin

取得値

グループを指定

グループメンバー一覧

 〃

グループ管理者一覧

SPコネクタを指定

SPコネクタに接続するグループの全メンバー一覧

 〃

SP管理者一覧



[言語] はオプション項目であり、レスポンスで返す言語を指定する。
指定できるTYPEは、en と ja であり、下記の優先順位でレスポンスを返す。
           リクエストURLの言語指定 > 英語入力 > 日本語入力
なお、英語、日本語ともGakuNin mAPに登録がなければ、当該属性自体が存在しない状態で返す。

下記に例を示す。
GakuNin mAPに、氏名「日/英」、自己紹介「英」、所属「日/英とも空欄」で登録されていた場合、
リクエストの言語指定が「ja」であった場合は、氏名「日」、自己紹介「英」、所属「無し」を、
リクエストの言語指定が「en」であった場合は、氏名「英」、自己紹介「英」、所属「無し」を、
リクエストの言語指定がない場合は、氏名「英」、自己紹介「英」、所属「無し」を返す。

項目

日本語の登録

英語の登録

lang=ja

lang=en

言語指定なし

氏名

日本語

英語

英語

自己紹介

-

英語

英語

英語

所属

-

-

-

-

-



レスポンス

\{
"totalResults" : <ユーザ数>,
"entry" : \[
\{
"id" : \{"mAPのeduPersonTargetedID"\},
"displayName" : <"氏名">,
"aboutMe" : <"自己紹介">,
"emails" : \[
\{"type" : "email", "value": <"mAPに登録したメールアドレス">\}
\],
"languagesSpoken" : \[
\{"type": "languageSpoken", "value": <"mAPに登録した使用言語">\}
\],
"organizations" : \[
\{"type":"organization","value" :\{"name":< "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

使用言語

 

organizations

所属

 

map_IdPEntityIDs

認証に利用するIdP(entityID)

 

    • Required以外のフィールドは、利用者が同意したフィールドのみ送られます。また、全てのフィールドが存在しない(同意されていないもしくはSPが要求していない)場合はオブジェクトごと無くなります。

groups API

リクエストURL


・SPコネクタに接続しているグループ情報の取得
https://map.gakunin.nii.ac.jp/api/groups/@me?lang=[言語]
 ※クライアント証明書を検証する。(該当SPのみ利用できる)
[言語] はオプション項目であり、レスポンスで返す言語を指定する。
指定できるTYPEは、enとjaであり、下記の優先順位でレスポンスを返す。
          リクエストURLの言語指定 > 英語入力 > 日本語入力
なお、英語、日本語ともGakuNin mAPに登録がなければ、当該属性自体が存在しない状態で返す。

下記に例を示す。
GakuNin mAPに、グループ名「日/英」、紹介文「日」で登録されていた場合、
リクエストの言語指定が「ja」であった場合は、グループ名「日」、紹介文「日」を、
リクエストの言語指定が「en」であった場合は、グループ名「英」、紹介文「日」を、
リクエストの言語指定がない場合は、グループ名「英」、紹介文「日」を返す。

項目

日本語の登録

英語の登録

lang=ja

lang=en

言語指定なし

グループ名

日本語

英語

英語

紹介文

日本語

日本語

日本語






レスポンス

上記リクエストのレスポンスを下記に示す。

\{
"totalResults" : <グループ数>,
"entry" : \[
\{
"id" : <"グループID">,
"title" : <"グループ名">,
"description" : <"グループの紹介">,
"map_totalMembers" : <グループの参加人数>
\},
・・・
\]\}
  • グループIDは、isMemberOfで取得することができるURL形式の値

エラーレスポンス(共通)

●mAPでのエラーコード

400

APIのURL不正

403

・提示された証明書が学認参加SPのものでない場合
・セレクタ(@me)が未設定の場合
・指定されたグループが対象となるSPコネクタと接続していない場合

404

指定されたグループがない場合

※レスポンスに返すデータが0件の場合は空配列のentryを返す。

  • ラベルがありません