如果我们在HTML内容中有另一个OneNote页面的链接:
<a href="onenote:SectionB.one#Note1&section-id={<section-id>}&page-id={<page-id>}&end&base-path=https://<path>"
...在我编写解析例程以提取该链接之前,我想我会问我是否忽略了OneNote API中的任何内容以使其更容易。
=============================================== ============================
[编辑]好吧,我已经编写了我的例程来提取链接笔记的页面ID,但该页面ID与返回的页面ID完全不同链接笔记本身的属性(id) - 它不起作用:(
以下是一个例子:
(1)从链接中提取的page-id:A8CECE6F-6AD8-4680-9773-6C01E96C91D0
(2)page-id作为注释的属性:
0-5f49903893f048d0a3b1893ef004411f!1-240BD74C83900C17!124435
如你所见,大不相同。通过以下方式访问页面内容:
../pages/{page-id}/content
... for(1)什么都不返回
... for(2)返回整页内容。
(两种方法返回的section-id也完全不同。)
那么,我如何从链接中提取有效的页面ID?
答案 0 :(得分:1)
不幸的是,OneNote API目前不支持在页面内容中识别指向其他OneNote页面的链接。 OneNote中的链接可以是任何内容的链接:网站,其他OneNote页面/部分/笔记本,网络共享...... API确实支持使用
获取指向页面的链接 GET ~/pages
GET ~/sections/id/pages
页面元数据模型包含带有clientUrl和webUrl的链接对象。
更新问题后进行编辑: 你是对的 - 链接中的id与OneNote API的id不对应。但是,您可以将链接中的id与API中公开的OneNoteClientUrl中的id进行比较。这是
的响应示例 GET ~/sections/id/pages
GET ~/pages
{ “标题”:“由WAC创建”, “createdByAppId”:“”, “链接”:{ “oneNoteClientUrl”:{ “href”:“onenote:https://d.docs.live.net/29056cf89bb2d216/Documents/TestingNotification/Harrie%27s%20Section.one#Created%20from%20WAC§ion-id=49b630fa-26cd-43fa-9c45-5c62d547ee3d&page-id=a60de930-0b03-4527-bf54-09f3b61d8838&end” }, “oneNoteWebUrl”:{ “href”:“https://onedrive.live.com/redir.aspx?cid=29056cf89bb2d216&page=edit&resid=29056CF89BB2D216!156&parId=29056CF89BB2D216!105&wd=target%28Harrie%27s%20Section.one%7C49b630fa-26cd-43fa-9c45-5c62d547ee3d%2FCreated%20from%20WAC%7Ca60de930-0b03-4527-bf54-09f3b61d8838%2F%29” } 强> }, “contentUrl”:“https://www.onenote.com/api/v1.0/me/notes/pages/0-a50842a9873945379f3d891a7420aa39!14-29056CF89BB2D216!162/content”, “thumbnailUrl”:“https://www.onenote.com/api/v1.0/me/notes/pages/0-a50842a9873945379f3d891a7420aa39!14-29056CF89BB2D216!162/thumbnail”, “lastModifiedTime”:“2016-03-28T21:36:22Z”, “id”:“0-a50842a9873945379f3d891a7420aa39!14-29056CF89BB2D216!162”, “自我”:“https://www.onenote.com/api/v1.0/me/notes/pages/0-a50842a9873945379f3d891a7420aa39!14-29056CF89BB2D216!162”, “createdTime”:“2016-03-24T20:38:16Z”, “parentSection@odata.context”:“https://www.onenote.com/api/v1.0/ $ metadata#me / notes / pages('0-a50842a9873945379f3d891a7420aa39%2114-29056CF89BB2D216%21162')/ parentSection(id,name,self)/ $ entity”, “parentSection”:{ “id”:“0-29056CF89BB2D216!162”, “名字”:“哈里的部分”, “自我”:“https://www.onenote.com/api/v1.0/me/notes/sections/0-29056CF89BB2D216!162” } }
您还可以使用以下方法过滤服务器端(如果您想从分页和正则表达式中保存自己;))以获取链接中的ID:
GET ~/pages?$filter=contains(links/oneNoteClientUrl/href,'a60de930-0b03-4527-bf54-09f3b61d8838')