ユーザーを更新する

名前空間: microsoft.graph

user オブジェクトのプロパティを更新します。 メンバーまたはゲスト ユーザーは、管理者の役割なしで既定のアクセス許可を使用して、すべてのプロパティを更新できるわけではありません。 メンバーとゲストの既定のアクセス許可を比較して、管理できるプロパティを確認します。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) User.ReadWrite, User.ReadWrite.All, User.ManageIdentities.All, Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) User.ReadWrite
アプリケーション User.ReadWrite.All、User.ManageIdentities.All、Directory.ReadWrite.All

注意

  • 他のユーザーの businessPhonesmobilePhone、または otherMails のプロパティの更新を許可されているのは、管理者以外のユーザーまたは次のロールのいずれかを割り当てられたユーザーのみになります。ディレクトリ閲覧者、ゲスト招待元、メッセージ センター閲覧者およびレポート閲覧者。 詳細については、「Azure AD 組み込みロール」のヘルプデスク (パスワード) 管理者を参照してください。 User.ReadWrite.All または Directory.ReadWrite.All の委任またはアプリケーションのアクセス許可のいずれかが与えられているアプリの場合、これに該当します。 Directory.AccessAsUser.All アクセス許可が割り当てられたグローバル管理者だけが、これらのプロパティを更新して、特権を持つ管理者を追加できます。
  • 個人の Microsoft アカウントで User.ReadWrite 委任されたアクセス許可を使用してプロファイルを更新するには、個人の Microsoft アカウントを AAD テナントに関連付ける必要があります。
  • identities プロパティを更新するには、User.ManageIdentities.All アクセス許可が必要です。また、B2C ローカル アカウントを既存の user オブジェクトに追加することは、その user オブジェクトにローカル アカウント ID が既に含まれている場合を除き、許可されていません。

HTTP 要求

PATCH /users/{id | userPrincipalName}

要求ヘッダー

ヘッダー
Authorization ベアラー {token}。必須。
Content-Type application/json

要求本文

要求本文で、更新する関連フィールドの値を指定します。要求本文に含まれない既存のプロパティは、以前の値のままになるか、他のプロパティ値の変化に基づいて再計算されます。最適なパフォーマンスを得るためには、変更されていない既存の値を含めないでください。

プロパティ 説明
aboutMe String ユーザーが自分自身について記述する、フリー フォームのテキスト入力フィールド。
accountEnabled Boolean アカウントが有効な場合は true であり、それ以外の場合は false です。 このプロパティは、ユーザーの作成時に必要です。 Directory. AccessAsUser. All 委任されたアクセス許可を割り当てられたグローバル管理者は、テナント内のすべての管理者の accountEnabled 状態を更新できます。
ageGroup ageGroup ユーザーの年齢グループを設定します。 使用できる値: nullMinorNotAdult、および Adult。 詳細については、「法的年齢グループ プロパティの定義」を参照してください。
birthday DateTimeOffset ユーザーの誕生日。Timestamp 型は、ISO 8601 形式を使用して日付と時刻の情報を表し、必ず UTC 時間です。たとえば、2014 年 1 月 1 日午前 0 時 (UTC) は、2014-01-01T00:00:00Z です
businessPhones String collection ユーザーの電話番号。注:文字列コレクションですが、このプロパティに設定できるのは 1 つの数字のみです。
city String ユーザーがいる都市。
CompanyName String ユーザーが関連付けられている会社名。 このプロパティは、外部ユーザーが所属する会社を記述するのに役立ちます。 最大の長さは 64 文字です。
consentProvidedForMinor consentProvidedForMinor 未成年者について同意を得ているかどうかを設定します。 使用できる値: nullGrantedDenied、および NotRequired。 詳細については、「法的年齢グループ プロパティの定義」を参照してください。
country String ユーザーがいる国/地域。たとえば、USUK です。
department String ユーザーが働いている部門の名前。
displayName String アドレス帳に表示されるユーザーの名前。これは通常、ユーザーの名前、ミドルネームのイニシャル、姓の組み合わせです。このプロパティは、ユーザーの作成時に必須になります。更新時にクリアすることはできません。
employeeId String 組織によりユーザーに割り当てられた従業員 ID。 最大の長さは 16 文字です。
employeeType String エンタープライズ ワーカーの種類を取得します。 たとえば、EmployeeContractorConsultant、または Vendor です。 $select でのみ返されます。
givenName String ユーザーの名。
employeeHireDate DateTimeOffset ユーザーの採用日付。Timestamp 型は、ISO 8601 形式を使用して日付と時刻の情報を表し、必ず UTC 時間です。たとえば、2014 年 1 月 1 日午前 0 時 (UTC) は、2014-01-01T00:00:00Z です
interests String collection ユーザーが自分の関心事を記述する一覧。
jobTitle String ユーザーの役職。
mail String ユーザーの SMTP アドレス (たとえば、jeff@contoso.onmicrosoft.com)。 このプロパティを変更すると、その値が SMTP アドレスとして表示されるように、ユーザーの proxyAddresses コレクションも更新されます。 Azure AD B2C アカウントの場合、このプロパティは一意の SMTP アドレスを使用して最大 10 回まで更新することができます。
mailNickname String ユーザーの電子メール エイリアス。ユーザーの作成時に、このプロパティを指定する必要があります。
mobilePhone String ユーザーの主な携帯電話の番号。
mySite String ユーザーの個人用サイトの URL。
officeLocation String ユーザーの勤務先の場所。
onPremisesExtensionAttributes onPremisesExtensionAttributes ユーザーの extensionAttribute 1 ~ 15 が含まれています。 個々の拡張属性は選択もフィルター処理もできないことに注意してください。 onPremisesSyncEnabled ユーザーの場合、このプロパティ セットの権限ソースはオンプレミスで、読み取り専用です。 これらの拡張属性は、Exchange カスタム属性 1-15 とも呼ばれます。
onPremisesImmutableId String このプロパティは、オンプレミスの Active Directory ユーザー アカウントを Azure AD ユーザー オブジェクトに関連付けるために使用します。ユーザーの userPrincipalName (UPN) プロパティにフェデレーション ドメインを使用する場合は、Graph で新しいユーザー アカウントを作成するときにこのプロパティを指定する必要があります。重要: $_ の文字は、このプロパティを指定するときには使用できません。
otherMails String コレクション ユーザーの追加のメール アドレスの一覧 (例: ["bob@contoso.com", "Robert@fabrikam.com"])。
passwordPolicies String ユーザーのパスワード ポリシーを指定します。この値は列挙値であり、可能な 1 つの値は DisableStrongPassword です。この場合は、既定のポリシーより脆弱なパスワードを指定できます。DisablePasswordExpiration を指定することもできます。2 つを一緒に指定することもできます。例: DisablePasswordExpiration, DisableStrongPassword
passwordProfile PasswordProfile ユーザーのパスワード プロファイルを指定します。プロファイルには、ユーザーのパスワードが含まれています。このプロパティは、ユーザーの作成時に必要です。プロファイルにあるパスワードは、passwordPolicies プロパティによって指定されている最小要件を満たす必要があります。既定では、強力なパスワードが必要です。これは、フェデレーション ユーザーには使用できません。

委任されたアクセスでは、呼び出し元のアプリに、サインインしているユーザーに代わって Directory.AccessAsUser.All 委任されたアクセス許可を割り当てる必要があります。 アプリケーション専用アクセスでは、呼び出し元のアプリに User.ReadWrite.All アプリケーション アクセス許可と少なくとも ユーザー管理者 Azure AD ロールを割り当てる必要があります。
pastProjects String collection ユーザーが過去のプロジェクトを列挙する一覧。
postalCode String ユーザーの住所の郵便番号。郵便番号は、ユーザーの国/地域に固有です。アメリカ合衆国では、この属性には、ZIP コードが含まれます。
preferredLanguage String ユーザーが設定する言語。ISO 639-1 コードに従う必要があります。たとえば en-US です。
responsibilities String collection ユーザーが自分の責任の範囲を列挙する一覧。
schools String collection ユーザーが在籍した学校を列挙する一覧。
skills String collection ユーザーが自分のスキルを列挙する一覧。
state String ユーザーの住所の都道府県。
streetAddress String ユーザーの勤務先の番地。
surname String ユーザーの姓。
usageLocation String 2 文字の国コード (ISO 規格 3166)。国におけるサービスの利用可能性を確認することが法的に義務付けられているため、ライセンスを割り当てられるユーザーには必須です。例: USJPGB。null 許容ではありません。
userPrincipalName String ユーザーのユーザー プリンシパル名 (UPN)。UPN は、インターネット標準 RFC 822 に基づいた、インターネット スタイルのユーザーのログイン名です。規則では、これはユーザーの電子メール名にマップされる必要があります。一般的な形式は alias@domain です。このドメインは、検証済みドメインのテナントのコレクション内に存在している必要があります。テナントの検証済みのドメインには、[組織]verifiedDomains プロパティからアクセスできます。
注: このプロパティにアクセント文字を含めることはできません。 次の文字のみ使用することができます A - Za - z0 - 9 ' . - _ ! # ^ ~。 許可される文字の完全なリストについては、ユーザー名ポリシーを参照してください。
userType String ディレクトリ内のユーザーの種類を分類するために使用する文字列値 (MemberGuest など)。

注意

  • 以下のプロパティは、アプリケーションのアクセス許可のみを持つアプリで更新することはできません: aboutMebirthdayemployeeHireDateinterestsmySitepastProjectsresponsibilitiesschools、and skills
  • 以下のプロパティを更新するには、上記の表にリストされている他のプロパティを含めずに、独自の PATCH 要求でそれらを指定する必要があります: aboutMebirthdayinterestsmySitepastProjectsresponsibilitiesschools、and skills

拡張機能と関連データを管理する

次のように、この API を使用して、ディレクトリ、スキーマ、およびユーザーのオープン拡張機能とそのデータを管理します。

  • 既存のユーザーの拡張機能にデータを追加、更新、および格納する
  • ディレクトリおよびスキーマ拡張機能の場合は、カスタム拡張プロパティの値を null に設定して、格納されているデータをすべて削除します。 オープン拡張機能の場合は、[オープン拡張機能を削除する] API を使用します。

応答

成功した場合、このメソッドは 204 No Content 応答コードを返します。

例 1: サインインしているユーザーのプロパティを更新する

要求

次の例は要求を示しています。

PATCH https://graph.microsoft.com/v1.0/me
Content-type: application/json

{
  "businessPhones": [
    "+1 425 555 0109"
  ],
  "officeLocation": "18/2111"
}

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content

例 2: 指定したユーザーのプロパティを更新する

要求

次の例は要求を示しています。

PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json

{
  "businessPhones": [
    "+1 425 555 0109"
  ],
  "officeLocation": "18/2111"
}

応答

次の例は応答を示しています。

HTTP/1.1 204 No Content

例 3: ユーザーの passwordProfile を更新してパスワードをリセットする

次の例は、別のユーザーのパスワードをリセットする要求を示しています。

要求

PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json

{
  "passwordProfile": {
    "forceChangePasswordNextSignIn": false,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}

応答

HTTP/1.1 204 No Content

例 4: ユーザーのスキーマ拡張の値を追加または更新する

拡張機能の単一のプロパティまたはすべてのプロパティに値を更新または割り当てることができます。

要求

PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json

{
    "ext55gb1l09_msLearnCourses": {
        "courseType": "Admin"
    }
}

応答

HTTP/1.1 204 No Content

注: スキーマ拡張の値をユーザー オブジェクトから削除するには、プロパティを null に設定します。以下に例を示します:

PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json

{
   "ext55gb1l09_msLearnCourses": null
}

関連項目