У нас есть код автоматизации, который работает уже некоторое время.
Код извлекает указанную группу Azure AD по отображаемому имени. В некоторых случаях displayName содержит знак +. До недавнего времени это не было проблемой, но теперь запрос ничего не возвращает, если мы запрашиваем displayName со знаком + в нем.
Ури выглядит так:
https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName,'My Group with a + in it')
Если мы запрашиваем только часть до знака +, группа возвращается, как и ожидалось.
https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName,'My Group with a')
Это работает, но мы были бы более чем довольны решением, которое позволяет нам просто избежать знака + и получить полезную нагрузку. Мы безуспешно пытались кодировать URL-адрес uri.
Я могу воспроизвести вашу проблему, чтобы исправить ее, просто закодируйте знак +
с помощью %2B
, см. пример ниже.
В моем примере моя группа с именем joytest+group
, я фильтрую ее с помощью joytest+g
, кодирую знак +
, тогда будет joytest%2Bg
.
GET https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName,'joytest%2Bg')
Протестируйте в Graph Explorer, все работает.