List messages

获取登录用户的邮箱(包括“已删除邮件”和“待筛选邮件”文件夹)中的邮件。

目前,此操作返回纯 HTML 格式的邮件正文。

获取其他用户的邮件文件夹中的邮件

如果拥有应用程序权限,或从某用户获得相应委派权限,可以获取其他用户的邮件文件夹中的邮件。 此部分重点介绍了涉及委派权限的方案。

例如,应用程序已从用户 John 获得委派权限。 假设另一位用户 Garth 与 John 共享了邮件文件夹。 可以在下面的示例查询中指定 Garth 的用户 ID(或用户主体名称),获取此共享文件夹中的邮件。

GET /users/{Garth-id | Garth-userPrincipalName}/messages

此功能适用于对各个用户执行的所有受支持 GET 邮件操作,如下面的 HTTP 请求部分所列。 如果 Garth 将他的整个邮箱委派给 John,此功能同样适用。

如果 Garth 未与 John 共享他的邮件文件夹,也未将他的邮箱委派给 John,那么在这些 GET 操作中指定 Garth 的用户 ID 或用户主体名称将返回错误。 在这种情况下,指定用户 ID 或用户主体名称只适用于获取登录用户自己的邮件文件夹中的邮件,而此查询等效于使用 /me 快捷方式:

GET /me/messages

此功能仅适用于针对以下资源的 GET 操作:

  • 共享联系人文件夹、日历和邮件文件夹
  • 共享文件夹中的联系人、事件和邮件
  • 委派邮箱中的上述资源

此功能不适用于针对联系人、事件、邮件及其文件夹的其他操作。

权限

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

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

HTTP 请求

若要获取用户邮箱中的所有邮件,请执行以下操作:

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

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

GET /me/mailFolders/{id}/messages
GET /users/{id | userPrincipalName}/mailFolders/{id}/messages

可选的查询参数

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

请求标头

标头
Authorization Bearer {token}。必需。

请求正文

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

响应

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

此请求的默认页面大小为 10 封邮件。

示例

请求

下面是一个请求示例。

GET https://graph.microsoft.com/v1.0/me/messages
响应

下面是一个响应示例。注意:为了简单起见,可能会将此处所示的响应对象截断。将从实际调用中返回所有属性。

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

{
  "value": [
    {
      "receivedDateTime": "datetime-value",
      "sentDateTime": "datetime-value",
      "hasAttachments": true,
      "subject": "subject-value",
      "body": {
        "contentType": "",
        "content": "content-value"
      },
      "bodyPreview": "bodyPreview-value"
    }
  ]
}