todoTask: delta

命名空间:microsoft.graph

获取在指定的 todoTaskList 中添加、删除或更新的 一组 todoTask 资源。

todoTaskList 中 todoTask 资源的 delta 函数调用类似于 GET 请求,不同之处在于,通过在一个或多个调用中适当应用状态令牌,可以查询 todoTaskList 中的 todoTask 中的增量更改。 这样,就可以维护和同步用户的 todoTask 资源的本地存储,而无需每次都从服务器提取整个集。

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

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

权限

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

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

HTTP 请求

GET /me/todo/lists/{id}/tasks/delta
GET /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks/delta

查询参数

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

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

OData 查询参数

  • 像在任何 GET 请求中一样,你可以使用 $select 查询参数以仅指定获取最佳性能所需的属性。 始终返回 id 属性。
  • todoTask 的增量查询支持 $select$top$expand
  • 提供对 $filter$orderby 的有限支持:
    • 唯一支持的 $filter 表达式是 $filter=receivedDateTime+ge+{value}$filter=receivedDateTime+gt+{value}
    • 唯一支持的 $orderby 表达式是 $orderby=receivedDateTime+desc。 如果不包含 $orderby 表达式,则不能保证返回顺序。
  • 不支持 $search

请求标头

名称 类型 说明
Authorization string 持有者 {token}。 必填。
Content-Type string application/json. 必需。
Prefer string odata.maxpagesize={x}。 可选。

响应

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

示例

请求

若要跟踪自上一轮更改跟踪以来 todoTaskList 中 todoTask 资源的更改,需要调用一个或多个 delta 函数以获取增量更改集。 以下示例演示如何使用从上一轮的上一轮 Delta 函数调用返回的 中的 @odata.deltaLink URL(其中包含 )开始下一deltaToken轮更改跟踪。 此 delta 函数调用将响应正文中 todoTask 的最大数目限制为 2。

GET https://graph.microsoft.com/v1.0/me/todo/lists/gDbc8U7HGwADDZocJgAAAA==/tasks/delta?$deltatoken=w0vf2jHg2mBXU-I2AK0FSWl0dopNtG8u5YoM

响应

如果请求成功,响应将包含一个状态令牌,其为 skipToken
(@odata.nextLink 响应标头) 或 @odata.deltaLink 响应标头) 中的 deltaToken (。 它们分别指示是应继续执行回合,还是已完成获取该回合的所有更改。

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

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

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

{
   "@odata.deltaLink":"https://graph.microsoft.com/v1.0/me/todo/lists/gDbc8U7HGwADDZocJgAAAA==/tasks/delta?$deltatoken=MoVMZ_DzHG4AhT3WE8VioVS1IXZJ-ArqK5fknOjnKFY",
   "value":[
      {
         "@odata.etag":"W/\"4rfRVIPi9EqXgDbc8U7HGwADLLQ9xQ==\"",
         "importance":"normal",
         "isReminderOn":false,
         "status":"notStarted",
         "title":"empty task3",
         "createdDateTime":"2020-08-12T04:54:29.1925206Z",
         "lastModifiedDateTime":"2020-08-12T04:54:29.4903939Z",
         "id":"AAMkADMwNTcyZjQzLTdkMGItNDdjMy04ZTYwLTJhYmUzNGI5ZDEwMwBGAAAAAAB5M0K0qlJySLOAgV22zPnuBwDit9FUg_L0SpeANtzxTscbAAMNmhwmAADit9FUg_L0SpeANtzxTscbAAMxlnrYAAA=",
         "body":{
            "content":"",
            "contentType":"text"
         }
      }
   ]
}