Кодировка символа процента в URL создает недопустимое имя папки в группе Sharepoint - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь загрузить файл по определенному несуществующему пути в Microsoft Sharepoint Group, предполагая, что иерархия папок будет создана на основе этого пути.И это правда.

Проблема возникает, когда в сегменте пути есть специальные символы.Я нашел документацию MS, в которой говорится, что сегмент пути должен быть закодирован (используя функцию escape в Javascript).

Итак, допустим, я загружаю файл File1.txt в путь Test 1/Whatever%Text!Here

Вот как будет выглядеть URL:

PUT https://graph.microsoft.com/v1.0/groups/<group-id>/drive/items/root:/Test%201/Whatever%25Text%21Here:/children/File1.txt/content

Вы можете увидеть закодированный сегмент пути (/Test%201/Whatever%25Text%21Here) и то, как % закодировано в %25.Кажется, хорошо для меня.Но этот URL создаст подпапку с именем Whatever%25Text!Here, а не Whatever%Text!Here

%25 остается %25, она не декодируется до %.Кто-нибудь знает, что происходит?В основном я тестировал Microsoft Explorer Api Explorer, пробуя несколько разных URL-адресов, например,% изменился на% 2525, но безуспешно.

1 Ответ

0 голосов
/ 09 февраля 2019

Символ % является одним из «Зарезервированных символов» OneDrive для бизнеса.

Из документации :

Зарезервированные символы OneDrive

Следующие символы являются зарезервированными символами OneDrive и не могут использоваться в OneDriveимена папок и файлов.

onedrive-reserved  = "/" / "\" / "*" / "<" / ">" / "?" / ":" / "|"
onedrive-business-reserved = "/" / "\" / "*" / "<" / ">" / "?" / ":" / "|" / "#" / "%"
...