#microsoft-graph-api #azure-ad-graph-api
#microsoft-graph-api #azure-ad-graph-api
Вопрос:
Почему это работаетhttps://graph.microsoft.com/v1.0/me/onenote/notebooks ?filter=tolower(name) эквалайзер ‘мой ноутбук’
и когда я пытаюсь закодировать то же самое на C #, я получаю приведенный ниже код ошибки: Сообщение о неправильном запросе: Недопустимое предложение фильтра Внутренняя ошибка: additionalData: дата: 2020-09-02T20:01:24
Я использую приведенный ниже код.
var NoteBook = ожидает GraphClient.Me.Onenote.Ноутбуки.Запрос().Filter ($»name eq ‘Мой ноутбук'»).GetAsync();
Ответ №1:
Он не работает с https://graph.microsoft.com/v1.0/me/onenote/notebooks?filter=tolower(name) eq 'my notebook'
. Ты пропустил $
раньше filter=xxx
.
Правильный должен быть https://graph.microsoft.com/v1.0/me/onenote/notebooks?$filter=tolower(displayName) eq 'my notebook'
.
Свойство не названо name
. Вы можете получить результат, потому что фильтр не вступает в силу. Вы перечисляете все записные книжки. Правильный displayName
.
Но в SDK нет атрибута, name
определенного в классе notebook. Вот почему вы получаете ошибку при использовании SDK.
В SDK вы должны использовать этот код:
var NoteBook = await graphClient.Me.Onenote.Notebooks.Request().Filter($"displayName eq 'My Notebook'").GetAsync();
Комментарии:
1. @praveenkandari Если мой ответ полезен для вас, вы можете принять его в качестве ответа (нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный.). Смотрите meta.stackexchange.com/questions/5234 /… . Это может быть полезно для других участников сообщества. Спасибо.