API でユーザー情報を更新する

  • 更新

Learn365では Learn365 API を使用して、カスタム列と一部を除くシステム列のユーザー情報を更新することができます。

ここでは、その方法についてご説明します。

 

注記:

  • 「ユーザー名」列と「ユーザーはコースカタログにます」列の編集はできません。
  • カスタム同期オプションは、各列に対して個別に有効になります。特定の列でカスタム同期を有効にすると、Learn365 はその列の Microsoft Azure AD からのデータを同期しなくなり、ユーザ列に表示されるデータを設定できます。カスタム同期が無効になっている列については、データは自動的にMicrosoft Entra ID (Azure Active Directory) から取得されます。

 

システム列とカスタム列の両方でユーザーの詳細を更新するには、

PUT /odata/v2/Users('{LoginName}')  エンドポイントを使用します。

カスタム列は、POST /odata/v2/Users('{LoginName}')/UpdateUserFieldValues  エンドポイントを使用して更新することもできます。

PUT /odata/v2/Users('{LoginName}')  エンドポイントを使用してユーザーの詳細を更新するには、以下の情報が必要です。

  • 詳細を変更するユーザーのログイン名。ログイン名の取得はこちらを参照してください。

  • ユーザーのマネージャーを更新する場合は、マネージャー ID が必要です。マネージャー ID の取得はこちらを参照してください。

  • カスタム列の情報を更新する場合は、その ID が必要です。GET /odata/v2/UserFields  リクエストを実行すると、システムとカスタムの両方のすべての列に関するすべての情報が返されます。
    この情報には、列 ID が含まれます。

 

API を使用してシステム列またはカスタム列のユーザーの詳細を更新する

 

1.https://api.365.systems/ にアクセスし、APIキーで認証します。

2.Users セクションを展開し、 POST ​/odata/v2/Users('{LoginName}')  を選択し、開いた画面で右上の「Try it out」を選択します。

3.「key: LoginName:」フィールドにデータを更新するユーザーのログイン名を入力します。

4.リクエスト ボディにあるユーザーオブジェクトでは、任意のパラメータを変更することができます。次の点に注意してください。

  • Title は、このリクエストで唯一の必須パラメーターです。この場合のタイトルは、システムに表示されるユーザーのフルネームです。
PUTメソッドは、入力された情報だけでなく、すべての情報を更新します。そのため、パラメータには値を入力する必要があり、パラメータに値が入力されていない場合、データがない状態で上書きされますので注意してください。
  • システム列のすべてのパラメーターは、ManagerId を除き、文字列です。ManagerId を更新するには、マネージャーのユーザ ーID を入力します。
  • カスタム列のユーザーの詳細を変更するには、UserFieldValues 配列に 「FieldId」パラメーターと 「Value」パラメーターを入力します(FieldId はカスタム列の ID で、Value は新しい値です)。
    すべてのシステム列と 1 つのカスタム列でユーザーの詳細を更新する場合、リクエストは次のようになります。

{
"Department": "Research",
"Title": "Joanne Stefani",
"Email": "jstefani@compafi464.onmicrosoft.com",
"City": "Paris",
"Country": "France",
"Office": "Paris",
"JobTitle": "Researcher",
"Company": "Test Ltd.",
"ManagerId": "a98cf457-b3cc-4314-b995-d756fea98de3",
"UserFieldValues":
[
{"FieldId": "1c737e52-ee3b-45b1-aaec-cf981ade934c", "Value": "Senior"}
]
}

5.「Execute」を選択してリクエストを実行します。

 

UpdateDetailsRequest.png

6.Responses ブロックで結果を確認します。

  • Codeの下にある2XX(例:200)という数字は、リクエストが正しく動作したことを示します。
  • エラーが発生した場合、Responses bodyには、問題を説明するコードキーとメッセージキーを含むエラーオブジェクトが含まれます。

UpdateDetailsResponse.png

 

API を使用してカスタム列のユーザーの詳細を更新するには

 POST /odata/v2/Users('{LoginName}')/UpdateUserFieldValues エンドポイントを使用してカスタム列のユーザーの詳細を更新するには、次のものが必要です。

  • 詳細を変更するユーザーのログイン名。ログイン名の取得はこちらを参照してください。
  • カスタム列の ID。GET /odata/v2/UserFields リクエストを実行すると、カスタム列を含むすべての列に関するすべての情報が返され、その情報に列 ID が含まれます。

1. https://api.365.systems/ にアクセスし、APIキーで認証します。

2.Users セクションを展開し、 POST /odata/v2/Users('{LoginName}')/UpdateUserFieldValues  を選択し、開いた画面で右上の「Try it out」を選択します。

3.「key: LoginName:」フィールドにデータを更新するユーザーのログイン名を入力します。

4.リクエスト ボディの UserFieldValues 配列に、次のパラメータを入力します。

  • "FieldId":"guid":カスタム列のIDを入力します。
  • "Value": このカラムの新しい値を入力します。

UserFieldValues 配列に複数のオブジェクトを配置することで、複数のカスタム列を一度に更新できます。この場合、リクエスト ボディは次のようになります。


{
"UserFieldValues": [
{ "FieldId": "1c737e52-ee3b-45b1-aaec-cf981ade934c", "Value": "Middle"},
{ "FieldId": "d6ba00b6-692a-4b32-aa55-8cf12cd35fc7", "Value": 12}
]
}

 

5.「Execute」を選択してリクエストを実行します。

UpdateCustomRequest2.png

 

6.Responses ブロックで結果を確認します。

Codeの下にある2XX(例:200)という数字は、リクエストが正しく動作したことを示します。
エラーが発生した場合、Responses bodyには、問題を説明するコードキーとメッセージキーを含むエラーオブジェクトが含まれます。