我一直在使用以下API为我的OneDrive用户下载文件。
典型的URL属于这种
https://{site url}/_api/files('<filename>')/download
现在的问题是,如果文件包含unicode,特别是字符“'”(单引号),那么它会给我400响应,说资源无效,因为包含文件名的引号混淆了文件名本身的单引号。
现在,我已经尝试过这个文件名的URL编码,而不是。但每次都是同样的错误。
Microsoft为文件提供了新的API(LINK),这些文件可以使用文件ID下载文件。但是要获取该文件ID,需要访问该API,因为我使用的API不提供FileID。
使用较旧的API并下载此类文件是否有任何方法可以解决此问题?
例如: 文件名,例如&gt;&gt;&gt;测试¶ùûÞ'ï1 - 复制(4).txt
错误的
{
"error": {
"code": "-1, Microsoft.SharePoint.Client.InvalidClientQueryException",
"message": {
"lang": "en-US",
"value": "The expression \"files('Testing¶)éùûÞ'ï1 - Copy (4).txt')/download\" is not valid."
}
}
}