列出联系人

命名空间:microsoft.graph

从已登录用户的默认联系人文件夹中获取联系人集合。

在以下两种情况下,应用可以获取其他用户的联系人文件夹中的联系人:

  • 如果该应用程序具有应用程序权限,或者
  • 如果应用程序具有来自某个用户的相应委派权限,而另一个用户与该用户共享了联系人文件夹,或者已为该用户授予委派的访问权限。 请参阅详细信息和示例

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Contacts.Read Contacts.ReadWrite
委派(个人 Microsoft 帐户) Contacts.Read Contacts.ReadWrite
应用程序 Contacts.Read Contacts.ReadWrite

HTTP 请求

若要获取用户的默认联系人文件夹中的所有联系人,请执行以下操作:

GET /me/contacts
GET /users/{id | userPrincipalName}/contacts

若要获取用户邮箱中特定文件夹中的联系人,请执行以下操作:

GET /me/contactfolders/{Id}/contacts
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts

GET /me/contactFolders/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts

可选的查询参数

可以使用 $filter 查询参数根据联系人的电子邮件地址来筛选联系人:

GET https://graph.microsoft.com/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')

只能对 emailAddresses 集合中实例的地址子属性使用 $filteranyeq 运算符。 也就是说,不能筛选 emailAddresses 实例的名称或任何其他子属性,也不能对 filter、、 和 startswith()nele应用任何其他运算符或函数。

有关 $filter 查询参数的一般信息,请参阅 OData 查询参数

请求标头

标头
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权

请求正文

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

响应

如果成功,此方法在响应正文中返回响应 200 OK 代码和 联系人 对象的集合。

示例

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/v1.0/me/contacts

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "parentFolderId": "parentFolderId-value",
      "birthday": "datetime-value",
      "fileAs": "fileAs-value",
      "displayName": "displayName-value",
      "givenName": "givenName-value",
      "initials": "initials-value"
    }
  ]
}