如何集成Microsoft图形API的增量API?

时间:2020-03-24 15:32:31

标签: microsoft-graph-api microsoft-graph-sdks microsoft-graph-mail

我想将本地数据库与服务器同步。让我们看看我已经从网络上删除了一个项目,并且来到了我的移动应用程序,该电子邮件也应从移动设备上删除。我如何知道要删除哪些电子邮件。

Base Url:- https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages/delta.

我正在尝试 @ odata.nextLink ,直到 @ odata.deltaLink 得到响应,但是作为响应,我只收到电子邮件,没有任何标签用于删除项目。

已提及:

 https://docs.microsoft.com/en-us/graph/api/message-delta?view=graph-rest-1.0&tabs=http

有人可以帮我吗? 预先感谢。

2 个答案:

答案 0 :(得分:0)

网址:-https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages/delta

您的回复将是

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(message)",
  "@odata.nextLink": "https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages/delta?$skiptoken=yourToken",
  "value": [
   ...
  ]
}

然后尝试调用nextLink,直到deltaLink响应为止。 一旦deltaLink出现,请保存链接并在收件箱消息中进行更改,例如删除一条消息。删除消息后,调用保存的deltaLink。

通过新的deltaLink,您将获得最新更改。为了获得进一步的更改,您需要调用最新的deltaLink。就我而言,我已将deltaLink存储在共享首选项中。

注意:-确保仅调用最新的deltaLink以获得最新更改。

答案 1 :(得分:0)

Shakti S.P. Swain是正确的。使用deltalink时只会得到更改。如果邮件已删除,您将在其中获得@removed参数。