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

Попытка использовать API OneNote для поиска на странице слова с хэштегом (например, #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=%23taskclone не вызвала ошибок, но вернула ответ без значения:

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

  ]
}

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

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


person Troy Christmas    schedule 21.10.2016    source источник
comment
Забыл упомянуть. Поиск по тексту без хэштега работает нормально   -  person Troy Christmas    schedule 21.10.2016
comment
Вам нужно экранировать или отменить экранирование #?   -  person bated    schedule 21.10.2016


Ответы (2)


Убедитесь, что вы кодируете 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

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

person Jorge Aguirre    schedule 21.10.2016
comment
Мы попробовали кодировку URL, и возвращаемое значение пустое, но ошибки нет. Мы использовали onenote.com/api/v1.0. /me/notes/pages?search=%23taskclone. В заголовках, возвращенных для этого, единственным отличием от использования #taskclone в URL-адресе была Длина контента:, которая, как я полагаю, является длиной контента ответа. - person Troy Christmas; 24.10.2016
comment
Возврат { "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#me/notes/pages(parentSection(id,name,self))","value":[ ] } При использовании только таскклона все работает нормально. Те же заголовки, но большая длина содержимого и полный ответ. - person Troy Christmas; 24.10.2016

В соответствии с текущей реализацией OneNote API должен возвращать одинаковые результаты для #taskclone и taskclone. Мы признаем ошибку, из-за которой #taskclone возвращает 0 результатов. Мы работаем над исправлением этой ошибки.

Когда ошибка будет исправлена, мы вернем одинаковые результаты для #taskclone и taskclone.

person Amol Natu    schedule 01.11.2016