发送包含所有新的OneNote条目的电子邮件

时间:2018-09-13 15:53:09

标签: onenote

我每天使用Microsoft OneNote做笔记。我想编写一个脚本,每天晚上将自己在笔记本上记下的所有新笔记发送给自己,以便我进行检查。例如,这通常很简单。一个Word文档,我可以在其中保存所有保存的时间戳并获取最新文件,将其与前一天的最后一个文件进行比较,然后发送差异。不幸的是,OneNote至少有两个原因使之复杂化:

  1. OneNote自动保存,据我所知,它不具有重命名保存或向文件名添加时间戳的功能
  2. 笔记本和页面意味着更改是跨“文档”进行的,而不是可以进行比较的单个文件。

所以我正在寻找一种解决上述复杂问题的解决方案。谢谢。

1 个答案:

答案 0 :(得分:1)

通过Microsoft-Graph API的基本方法

order_id

将产生带有
的json数据 标题-页面标题
links / oneNoteWebUrl -允许在网络浏览器中打开onenote页面。
链接/ oneNoteClientUrl -允许在onenote应用中打开onenote页面
parentNotebook / displayName -笔记本名称
自我-需要获取页面内容。
对于较小的页码,这可能会起作用,但对于具有多个页面的驱动器,可能会因504错误而超时。 在这种情况下,需要采用两阶段方法。

./me/onenote/pages?$filter=lastModifiedDateTime ge yyyy-MM-ddThh:mm:ssZ&$expand=parentNotebook

将返回自定义lastModifiedDateTime以来已修改的所有节的列表。

接下来遍历返回的json数据,并使用格式

用返回的pagesUrls获取自lastModifiedDateTime之后修改的页面。
./me/onenote/sections?$filter=lastModifiedDateTime ge yyyy-MM-ddThh:mm:ssZ

提供与之前所述相同的数据。
获得这些数据后,您可以生成一封电子邮件,其中包含修改后的笔记本,页面名称和页面链接的列表。

如果您需要实际的页面数据(内容),则需要调用

.me/onenote/sections/1-xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/pages?$filter=lastModifiedDateTime ge yyyy-MM-ddThh:mm:ssZ&$expand=parentNotebook

每页将为您提供text / html,墨水和指向其他资源的链接。