mailFolder: delta

命名空间:microsoft.graph

获取用户邮箱中已添加、删除或移除的邮件文件夹集。

邮箱中邮件文件夹的 增量 函数调用类似于 GET 请求,只是通过在其中一个或多个调用中适当地应用 状态令牌 ,可以查询邮件文件夹中的增量更改。 这允许您维护和同步用户邮件文件夹的本地存储,而无需每次都从服务器提取该邮箱的所有邮件文件夹。

[!注意] 增量处理可能会创建或更新存储在邮箱中的同步状态。 这些写入受邮箱存储配额强制的约束。 如果邮箱已达到其适用的存储配额,则即使普通文件夹读取请求继续成功,邮件文件夹增量请求也会返回 403 ErrorQuotaExceeded。 将邮箱使用量减少到低于配额并重试增量请求。 应用程序应处理此错误,并引导受影响的用户或管理员解决邮箱存储使用情况问题。

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

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

权限

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

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

HTTP 请求

GET /me/mailFolders/delta
GET /users/{id}/mailFolders/delta

查询参数

跟踪邮件文件夹中的更改会引发一轮或多轮 增量 函数调用。 如果要使用任意查询参数($deltatoken 和 $skiptoken 除外),则必须在最初的 delta 请求中指定它。 Microsoft Graph 自动将指定的任意参数编码为响应中提供的 @odata.nextLink 或 @odata.deltaLink URL 的令牌部分。 只需预先指定所需的任何查询参数一次。 在后续请求中,只需复制并应用 @odata.nextLink 上一个响应中的 OR @odata.deltaLink URL,因为该 URL 已包含已编码的所需参数。

查询参数 类型 说明
$deltatoken string 针对同一邮件文件夹集合的上一个增量函数调用的 URL 中@odata.deltaLink返回的状态令牌,指示该轮更改跟踪的完成。 将此令牌包含在对该集合的下一组更改追踪的首次请求中,并保存和应用整个 @odata.deltaLink URL。
$skiptoken string 对之前的 delta 函数调用的 @odata.nextLink URL 中返回的状态令牌,指示同一个邮件文件夹集合中有进一步的更改需要追踪。

OData 查询参数

像在任何 GET 请求中一样,你可以使用 $select 查询参数以仅指定获取最佳性能所需的属性。 始终返回 id 属性。

请求标头

名称 类型 说明
Authorization string 持有者 {token}。 必填。 详细了解 身份验证和授权。
Content-Type string application/json. 必需。
Prefer string odata.maxPageSize={x}。 可选。

响应

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

示例

请求

以下示例演示了如何执行单次 delta 函数调用,并将响应正文中的邮件文件夹最大数目限制为 2。

若要跟踪邮箱的邮件文件夹的更改,要使用正确的状态令牌执行一次或多次 delta 函数调用来获取上一次增量查询后的增量更改集。

可以找到一个类似的示例,该示例显示如何使用状态令牌跟踪邮件文件夹邮件中的更改: 获取对文件夹中邮件的增量更改。 跟踪邮件文件夹和文件夹中的跟踪邮件之间的主要差异在于增量查询请求 URL 以及返回 mailFolder 而不是 邮件 集合的查询响应。

GET https://graph.microsoft.com/v1.0/me/mailFolders/delta

Prefer: odata.maxpagesize=2

响应

如果请求成功,响应将包括状态令牌,该状态令牌可能是 @odata.nextLink 响应标头) 中的 skipToken (,或者是 @odata.deltaLink 响应标头) 中的 deltaToken (。 它们分别表示您是否应该继续该轮,或者您已完成获取该轮的所有更改。

以下响应显示了 @odata.nextLink 响应头中的 skipToken。

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

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

{
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/me/mailFolders/delta?$skiptoken={_skipToken_}",
  "value": [
    {
      "displayName": "displayName-value",
      "parentFolderId": "parentFolderId-value",
      "childFolderCount": 99,
      "unreadItemCount": 99,
      "totalItemCount": 99
    }
  ]
}