#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.