Для электронной почты допустимы специальные символы: `и !#$%&'*+-/=?^_{|}~
.
. И если вы хотите использовать один из символов "(),:;<>@[\]
и whitespace
, вам придется использовать форму Quoted-string.Форма в кавычках означает, что локальная часть адреса окружена "
(дополнительную информацию см. В Википедии ).
Поскольку ваше электронное письмо содержит ()
и whitespaces
ваш адрес должен выглядеть следующим образом
"Boston-rooms (1/3)"@domain.onmicrosoft.com
Поскольку вы должны использовать это в URL, вам придется экранировать все символы, которые not Alphanumeric
, $-_.+!*'(),
илиreseverd
(см. Также эту запись stackoverflow ).
В вашем случае адрес должен быть экранирован до
%22Boston-rooms%20%281%2F3%29%22%40domain.onmicrosoft.com
a, и вызов Graph будет:
/beta/me/findRooms(RoomList='%22Boston-rooms%20%281%2F3%29%22%40domain.onmicrosoft.com')
Похоже, этот графоперация не полностью совместима со всеми форматами электронной почты.Из быстрого тестирования в Graph-Explorer я обнаружил, что адреса с символами ?/\<>
не работают и .;(+-[]
, похоже, работают. Я не проверял каждый символ .Например, "Boston-rooms (1.+-3)"@domain.onmicrosoft.com
будет работать, но действительный пример Email-Address из Википедии "very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com
не работает.
Чтобы решить эту проблему, я бы порекомендовал вам открыть сообщение об ошибке на Github ,заявив, что документация предполагает, что эта операция полностью совместима со всеми форматами адресов электронной почты, но в действительности это не так.
На данный момент единственным вариантом будет изменение адреса электронной почты собраниякомната и ждать и надеяться, что это исправлено.
Как правило, форма в кавычках не используется совместно.Таким образом, высока вероятность того, что он не может использоваться везде (часто для проверки используется только простой RegEx).Имейте в виду, что даже RFC-стандарт предупреждает об использовании формы Quoted-string в некоторых случаях:
[...] хосту, который ожидает получать почту, СЛЕДУЕТ избегать определения почтовых ящиков, где Local-частьтребует (или использует) форму Quoted-string или где Local-part чувствительна к регистру.[Цитата из Rfc5321]