【问题标题】:How do I search OneNote page for hashtag+word? (#text)如何在 OneNote 页面中搜索 hashtag+word? (#文本)
【发布时间】:2016-11-02 05:29:11
【问题描述】:

尝试使用 OneNote API 在页面中搜索带有井号标签的单词(例如 #taskclone)。这会从 API 产生错误。

链接到 API 使用的 Odata 结构和语法 - http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part2-url-conventions/odata-v4.0-errata02-os-part2-url-conventions-complete.html#_Toc406398071

我认为这个问题与我的查询中 URL 组件的结构有关,这就是我添加第二个链接的原因。想要一个包含“#word”的有效查询示例。

更新: 尝试使用 /api/v1.0/me/notes/pages?search=%23taskclone 进行 url 编码,没有导致错误,但返回的响应没有任何值:

{
  "@odata.context":"/api/v1.0/$metadata#me/notes/pages(parentSection(id,name,self))","value":[

  ]
}

更改为/api/v1.0/me/notes/pages?search=taskclone 效果很好。

如果有帮助,这里是注释文本 OneNote Page

【问题讨论】:

  • 忘了说。搜索没有标签的文本工作正常
  • 您需要转义或取消转义#?

标签: onenote onenote-api


【解决方案1】:

确保您对“搜索”查询参数进行 URL 编码:

这应该有效: https://www.onenote.com/api/v1.0/me/notes/pages?search=%23target 这将不起作用: https://www.onenote.com/api/v1.0/me/notes/pages?search=#target

你得到什么样的错误?什么响应代码/响应内容?

【讨论】:

  • 我们尝试了 URL 编码,返回值为空,但没有错误。我们使用了onenote.com/api/v1.0/me/notes/pages?search=%23taskclone。在为此返回的标头中,在 url 中使用“#taskclone”的唯一区别是 Content Length: 我认为这是响应的内容长度。
  • 返回{ "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/pages(parentSection(id,name,self))","value":[ ] } 仅使用“taskclone”时一切正常。相同的标头,但更长的内容长度和完整的响应。
【解决方案2】:

根据当前的实现,OneNote Api 应该为#taskclone 和 taskclone 返回相同的结果。 我们承认 #taskclone 返回 0 结果的错误。 我们正在努力修复这个错误。

修复错误后,我们将为 #taskclone 和 taskclone 返回相同的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-09
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多