Office365 OneDrive For Business:通过项目路径访问项目时,如何克服MaxUrlLength问题?

Office365 OneDrive For Business:通过项目路径访问项目时,如何克服MaxUrlLength问题?,office365,sharepoint-online,onedrive,Office365,Sharepoint Online,Onedrive,我的主要目标是检索文件的ID 情况如下 我需要访问文件的元数据,但我只有文件路径(我不能使用/drive/items/{item id}方法) 当路径太大时,我无法访问元数据 这应该是一个很长的文件夹名称,通常情况下不是这样的/SomeName-1234567890012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.txt 错误 401未经授权 此请求的UR

我的主要目标是检索文件的ID

情况如下

  • 我需要访问文件的元数据,但我只有文件路径(我不能使用/drive/items/{item id}方法)

  • 当路径太大时,我无法访问元数据

这应该是一个很长的文件夹名称,通常情况下不是这样的/SomeName-1234567890012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.txt

错误

401未经授权

此请求的URL长度超过配置的maxUrlLength值

在使用Sharepoint Online API时,我使用URL参数来解决这个问题,如

'bla bla')?@v='/personal/user\u account\u tenant\u onmicrosoft\u com/Documents/Test/reeeaaaaaallyyyyybiignameblalblalb.txt'

我无法将此技术用于。这方面有什么办法吗

一个附带的问题是,我确实有文件的ListItemUniqueId(Sharepoint上文件的UniqueID)
我可以用它转换成OneDrive ID吗?这方面有什么问题吗?i、 e,与之相反。

您应该能够对OneDrive API使用类似的别名方法,但就别名命名而言,它可能没有那么灵活

https://tenant-my.sharepoint.com/personal/some_user_some_domain_elasticadev_com/_api/v2.0/drive/root:@path?@path='/mauze/test/This%20is%20supposed/This%20is%20really%20supposed%20to%20be%20a%20really%20long%20name%20for%20a%20folder%20which%20normally%20isn''t%20the%20case!/SomeName-123456789012345678901234567890123456789012345678901234567890123456789012.txt'

话虽如此,我们现在真的应该支持该长度的URL,所以我需要跟进,看看这方面出了什么问题。

对于第一个问题,您需要确保@path值编码为OData字符串文字(由“and any internal”包围,并用另一个字符串转义,例如test“string=”test“string”)。如果这与你的计划无关,请告诉我。至于更大的路径,你能告诉我url和查询参数长度吗?谢谢!成功了!路径长度>212###URL长度>310实际上我正在测试限制。所以文件夹层次结构是这样的,它不允许我创建一个大于>>>>/mauze/test/这个应该是/这个应该是一个非常长的文件夹名称,通常情况下不是这样的/O'n'e'D'r'ive-123456789001234567890123456789012345678901234567890123456789012345678901234567890123456789012.txt