获取用户

检索用户对象的属性和关系。

注意:获取用户仅返回一组默认属性(businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName。使用 $select 获取 user 对象的其他属性和关系。

权限

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) User.Read、User.ReadWrite、User.ReadBasic.All、User.Read.All、User.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All、Directory.AccessAsUser.All
委派(个人 Microsoft 帐户) User.Read、User.ReadWrite
应用程序 User.Read.All、User.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All

HTTP 请求

GET /users/{id | userPrincipalName}

可选的查询参数

此方法支持使用 OData 查询参数来帮助自定义响应。

默认情况下,仅返回一组有限的属性(_businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName_)。

若要返回其他属性,必须使用 OData $select 查询参数指定所需的一组 user 属性。 例如,若要返回 displayName、_givenName_、和 postalCode,则需要将以下项添加到查询 $select=displayName,givenName,postalCode

请求标头

标头
Authorization Bearer {token}。必需。
Content-Type application/json

请求正文

请勿提供此方法的请求正文。

响应

如果成功,此方法在响应正文中返回 200 OK 响应代码和 user 对象。

示例

示例 1:标准用户请求

默认情况下,仅返回一组有限的属性(_businessPhones、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、surname、userPrincipalName_)。 此示例演示了默认请求和响应。

请求
GET https://graph.microsoft.com/v1.0/me
响应
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 491

{
  "businessPhones": [
       "businessPhones-value"
   ],
   "displayName": "displayName-value",
   "givenName": "givenName-value",
   "jobTitle": "jobTitle-value",
   "mail": "mail-value",
   "mobilePhone": "mobilePhone-value",
   "officeLocation": "officeLocation-value",
   "preferredLanguage": "preferredLanguage-value",
   "surname": "surname-value",
   "userPrincipalName": "userPrincipalName-value",
   "id": "id-value"
}

示例 2:使用 $select 的用户请求

如果需要其他属性集,可以使用 OData $select 查询参数。 例如,若要返回 displayName、_givenName_、和 postalCode,则需要将以下项添加到查询 $select=displayName,givenName,postalCode

请求
GET https://graph.microsoft.com/v1.0/me?$select=displayName,givenName,postalCode
响应
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 491

{
   "displayName": "displayName-value",
   "givenName": "givenName-value",
   "postalCode": "postalCode-value"
}