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

时间:2017-02-16 13:16:55

标签: office365 sharepoint-online onedrive

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

方案如下

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

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

  
    
      假设

https://tenant-my.sharepoint.com/personal/some_user_some_domain_elasticadev_com/_api/v2.0/drive/root:/mauze/test/This /这应该是一个文件夹的真正长名称,通常情况并非如此!/SomeName-123456789012345678901234567890123456789012345678901234567890123456789012.txt

    
  

错误

  
    
      

401未经授权

             

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

    
  

使用Sharepoint Online API时,我曾经使用像

这样的网址参数来解决这个问题
  
    
      

https://tenant-my.sharepoint.com/personal/user_account_tenant_onmicrosoft_com/_api/web/getfilebyserverrelativeurl(@v)/startupload(uploadId=guid' BLA-BLA'?)@ V =' /personal/user_account_tenant_onmicrosoft_com/Documents/Test/reeeaaaaallllyyybiiignameblablblalblalb.txt'

    
  

我无法将此技术用于OneDrive API。有没有解决这个问题?

一方面的问题,我确实有文件的ListItemUniqueId(Sharepoint上文件的UniqueID) 我能以某种方式使用它将其翻译成OneDrive ID吗?为此目的的任何方面?即,SharepointIds Facet的反面。

1 个答案:

答案 0 :(得分:1)

您应该能够对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'

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