问题标签 [onenote-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
330 浏览

python - 如何阻止 OneNote API 返回已删除页面的 ID

我使用 OneNote REST API 调用以返回一个部分中所有页面的列表。这成功了。但是,它返回的某些页面应该不再存在!然而,我可以看到他们的信息、ID 等,即使它们之前已被删除。但是,如果我尝试使用 REST 再次删除它们,我会收到错误消息:

为什么 OneNote 不断返回不再存在的页面(即使在很多天后),我如何防止它这样做?

0 投票
1 回答
158 浏览

httpresponse - 如何在 OneNote 中缩进新页面?

我可以使用 Rest API 在 OneNote 中成功创建页面。我还可以使用补丁成功缩进给定页面。但是,问题是当我创建一个页面然后想要缩进它时。我不断回来:

我尝试在创建页面的调用和缩进它的调用之间长时间延迟。我也尝试过循环这些延迟,所以它会每 10 秒重试一次补丁。在 X 次尝试中它实际上成功是非常罕见的。

有没有更好的方法来缩进新创建的页面?

0 投票
2 回答
595 浏览

onenote - 如何获取当前页面?[尝试创建一个简单的 OneNote Addin 将文本添加到当前页面]

正如标题所说,我正在尝试创建一个 OneNote 插件,它只是将一些文本添加到当前页面(在您的 OneNote 桌面应用程序中)。

我已经查看了 API,我可以将文本添加到 Pages XML,然后使用 UpdatePageContent() 更新页面...但是我看不到任何内容可以为您提供当前正在查看的页面?

如果这很明显,或者如果有一种方法可以在不需要 API 的情况下编辑页面,我很抱歉……我花了几天时间研究 OneNote 插件示例,但只是设法真正获得了一个显示在中的按钮丝带!

任何建议或指导将不胜感激。

0 投票
1 回答
104 浏览

rest - 如何在 REST API 创建后显示 OneNote 页面?

我正在使用 OneNote 的 REST API 在 OneNote 中创建页面。在大多数情况下,它运作良好。但是,有些页面永远不会出现。根据他们的 HTTP 响应代码(201),他们都正确 POST,但无论我何时或多少次运行程序,某些页面(总是相同的)永远不会出现。有时,如果我等待很长时间(例如几天),一个页面最终会出现,但通常会在一段时间后再次消失。

示例:如果我要上传 10 个页面,我可能有 5 个页面会立即出现在 OneNote Online 中,3 个页面会在 10 分钟后出现,还有 2 个页面根本不会出现(无论我同步多少页),即使它们都发布到同一个地方,具有唯一的名称,并且都返回响应 201。

如果我使用丢失页面的 id 发送 GET 请求并包含FavorDataRecency: true在标头中,则 API 返回不存在此类页面。但是,如果我不使用该标头,那么 API 会返回它们存在以及它们的信息。

我怎样才能让他们出现?

更新注意:如果我删除要上传到的部分并重新创建它们,然后运行我的程序,所有页面都可以发布。我尚未确定他们是否会在后续运行中继续正常发布。目前,在我看来,OneNote 索引或缓存页面的方式可能是问题的一部分。想法?

0 投票
2 回答
78 浏览

onenote - 无法过滤 userRole 上的笔记本

我正在尝试获取我拥有的笔记本列表,我的 API 调用是:( /me/notes/notebooks?filter=userRole eq 'Owner'使用 API 控制台,所以这里不替换空格)

响应包括

400(错误请求)OData 查询无效。检测到类型不兼容的二元运算符。找到运算符类型“Equal”的操作数类型“Microsoft.OneNote.Api.UserRole”和“Edm.String”

如果没有 userRole 过滤器周围的引号,我们会得到:

400(错误请求)未知属性名称:“所有者” /me/notes/notebooks?filter=userRole eq Owner

是否有正确的方法来过滤 userRole?

编辑:

紧抓着稻草,但我也努力过

/me/notes/notebooks?filter=userRole eq Microsoft.OneNote.Api.UserRole.Owner

不成功...

0 投票
3 回答
441 浏览

onenote - Keep getting 429 (Too Many Requests) throttling errors

I tried to engage with the API team via Twitter but I've not had a response and development is grinding to a halt here...

In short I keep getting a 429 when developing against the OneNote API, I know that this suggests I'm hitting the API too hard, but I'm not.

At worst I'm doing maybe 1 or 2 requests per minute, manually invoked by me as I develop. Sometimes I'll leave it 10-15 minutes between calls, sometimes this works, sometimes not.

I've been working on a particular problem the last few days. In my code I make a call to get all notebooks, sections & section groups in a single query (filtered to only return data from certain notebooks)

I then make a second call to get all updated pages for those notebooks. I've been fiddling with the filter string to get this second call working (which I now think I have), but 9 times out of 10 I get the 429 on this second API call.

Is there some way of getting my user account whitelisted please?

FWIW this is my second query (the spaces normally get encoded):

This does work as I'd expect, the date clause is working now, but I can only test very occasionally as I get the 429.

Incidentally if I run my second filter through the API console I get a 504 "Proxy request timeout", every time. This has been since I've added the parenthesis around the notebook predicate.

So I'm pretty much unable to continue development, how do I resolve this please?

0 投票
1 回答
38 浏览

onenote - 不支持 OutlineGroupNode

这份清单: 在此处输入图像描述

从 api 得到这样的返回:

OutlineGroup 的定义是什么?

0 投票
1 回答
183 浏览

rest - OneNote API - 获取原始 XML

使用 OneNote 的Onetastic,我已经能够检查笔记本的原始 XML 结构。REST API 以 HTML 形式返回页面信息,但受到限制(不支持墨迹、形状、OCR 等)

有没有办法获取页面的原始 XML?也许来自 OneDrive API?

提前致谢!

0 投票
1 回答
711 浏览

c# - 使用 C# 导出到 OneNote

我想将文本从我的应用程序导出到 MS OneNote 并支持 Office 版本:2007、2010、2013 和 2016。我使用的是Microsoft.Office.Interop.OneNote.dll Version:12.0.0,因为它随所有 Office 版本提供。

问题是当我尝试使用“CreateNewPage”在 Office 2013 上创建新的 OneNote 页面时,我遇到了异常:

hrSectionReadOnly 0x8004200b

  • 该部分是只读的。

readOnly="true"我可以看到我尝试更改的属性,但没有帮助。仍然得到同样的例外。

如果我参考Microsoft.Office.Interop.OneNote.dll Version:15.0.0,那么一切正常。

任何想法为什么它是只读的,我该如何克服这个问题?

这是代码示例:

0 投票
2 回答
426 浏览

onenote - 我们可以在 onenote API 中搜索或过滤“data-tag='to-do'”吗?如果是,那么我们怎么能做到这一点?

我们如何data-tag='to-do'在 OneNote API 中使用 OneNote 标签(如 )进行搜索或过滤。我尝试使用提供运算符但没有成功。

我试过这样——

我想搜索 data-tag,然后从包含 data-tag='to-do' 的 OneNote 页面中提取数据。

任何帮助表示赞赏并提前感谢。