2016-10-03 132 views
1

这与OneNote pages API doesn't return pages in section-groups类似的问题。Onenote不返回页面

我正在使用获取部分并获取部分页面的部分展开以获取笔记本中所有页面的名称。但是,始终使用相同的请求,部分组中的部分有时会消失,并且在重新创建组之前不会再出现。

这是一个可以以某种方式解决问题的缺陷,或者有更好的方法来轮询特定笔记本中的所有页面名称吗?页面需要按顺序排列。

+0

+1似乎API不工作,但dev.onenote.com返回正确的结果。只需计入0和空值 –

+0

您好Walliski,OneNote API团队收到您的电子邮件,我已被分配来帮助您解决您的问题。我正在深入了解您发送给我们的请求的日志,我会看看我能否诊断该错误。 只是澄清一下,你说的“节组中的节......在再现**组之前不会再出现”是什么意思? –

+0

重新创建我的意思是创建一个名为“temp”的新节组,然后将所有节移到新节组中,最后删除“破”节。 – Walliski

回答

0

如果您尝试获取笔记本的所有页面名称,则通过使用OData嵌套过滤器来解决问题。这个想法是查询所有页面,$expandparentNotebook,然后$filteridparentNotebook。以下是一个示例网址。

GET ~/pages?$expand=parentNotebook&$filter=parentNotebook/id%20eq%20'{$notebook_id_here}'

这里是另一个SO问题,如果有人采用类似的模式:Best way to use One Note API to GET specific pages in specific section in specific notebook?

更新:

可以使用的OData的$orderby并指定属性控制返回的页面顺序存在于返回实体集中的实体上(在这种情况下,实体是页面)。来自dev.onenote.com:“默认[顺序]是lastModifiedTime desc(最近修改页面先)”。

https://dev.onenote.com/docs#/reference/get-pages下有一个“页面属性”部分,它显示了此调用返回的所有属性。由于我们正在将所有页面都提供给笔记本中​​存在的用户,因此我们可以使用的唯一属性是不幸的createdTime

的查询参数添加貌似$orderby=createdTime

在全:

GET ~/pages?$expand=parentNotebook&$filter=parentNotebook/id%20eq%20'{$notebook_id_here}&$orderby=createdTime

我只是测试这个使用招对我自己的网页,所以我认为它应该工作。好的是它是一个单一的请求。

GET https://www.onenote.com/api/v1.0/me/notes/pages?$expand=parentNotebook&$filter=parentNotebook/id%20eq%20'{$YOUR_NOTEBOOK_ID_HERE}'&$orderby=createdTime

+0

如果我这样做,网页上是否有“订单”,所以我知道它们是如何订购的? – Walliski

+0

我已编辑答案以回应您的评论。 –

+0

应该可能指定它更好。对于“order”,我的意思是可以从这里获得的“pagelevel”参数:https://dev.onenote.com/docs#/reference/get-pages。 如果那个也可用,这可能是一个替代方案。我得看看它,谢谢! – Walliski