Как мне выполнить поиск на странице OneNote по хэштегу слово? (#текст)

#onenote #onenote-api

#onenote #onenote-api

Вопрос:

Пытаюсь использовать OneNote API для поиска на странице слова с хэштегом (например, #taskclone). Это приводит к ошибке API.

Ссылка на структуру Odata и синтаксис, используемые API — 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».

ОБНОВЛЕНИЕ: Пробовал кодировку URL с помощью / api / v1.0 / me / notes / pages?search =#taskclone, что не вызвало ошибок, но выдало ответ без значения:

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

  ]
}
  

Переход на / api / v1.0 / me / notes / pages?search = taskclone работает отлично.

Вот текст заметки, если это поможет странице OneNote

Комментарии:

1. Забыл упомянуть. Поиск текста без хэштега работает нормально

2. Вам нужно экранировать # или отменить его?

Ответ №1:

Убедитесь, что вы указали URL, кодирующий параметр запроса «поиск»:

Это должно сработать: https://www.onenote.com/api/v1.0/me/notes/pages?search=#target Это не сработает: https://www.onenote.com/api/v1.0/me/notes/pages?search=#target

Какого рода ошибку вы получаете в ответ? Какой код ответа / содержимое ответа?

Комментарии:

1. Мы попробовали кодировку URL, и возвращаемое значение пустое, но ошибки нет. Мы использовали onenote.com/api/v1.0/me/notes/pages?search=#taskclone . В заголовках, возвращенных для этого, единственным отличием от использования «#taskclone» в URL-адресе была длина содержимого: которая, я полагаю, является длиной содержимого ответа.

2. Возвращается { "@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.