URL中的编码百分比符号在Sharepoint组上创建了无效的文件夹名称

时间:2019-02-08 12:34:30

标签: microsoft-graph onedrive

我正在尝试将文件上传到Microsoft Sharepoint Group上特定的不存在路径,假设将基于该路径创建文件夹层次结构。没错。

路径段包含特殊字符时出现问题。我发现MS文档指出应该对路径段进行编码(在Javascript中使用escape函数)。

因此,假设我要将文件File1.txt上传到路径Test 1/Whatever%Text!Here

这是网址的样子:

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 Graph Api资源管理器进行测试的,尝试了几种不同的URL,例如%更改为%2525但没有运气。

1 个答案:

答案 0 :(得分:1)

%符号是OneDrive for Business的“保留字符”之一。

来自documentation

  

OneDrive保留字符

     

以下字符是OneDrive保留字符,不能在OneDrive文件夹和文件名中使用。

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