首页 文章

使用OneDrive for Business API以编程方式下载共享文件

提问于
浏览
0

我有一个场景,userA在OneDrive for Business上与userB共享一个文件 . 他们都属于同一个Office365租户 .

有没有办法使用userB身份(OAuth访问令牌)以编程方式检索共享文件内容?我尝试过使用适用于userA的2.0 API语法,但是在尝试使用userB访问令牌执行此请求时遇到401错误,即使文件是与userB共享的 .

https://{tenantid}-my.sharepoint.com/_api/v2.0/drives/{driveId}/items/{itemId}/

或者可能有一种方法我可以使用Azure AD应用程序委派的权限代表其拥有driveId和itemId的所有者访问此文件?

2 回答

  • 0

    据我所知,此功能尚不支持 .

    UserVoice上有此功能的请求,您可以投票 .

  • 1

    至于2016年3月,我能够以编程方式从OneDrive for Business检索共享文件内容的唯一方法是:

    Uri url = new Uri("https://{tenantid}-my.sharepoint.com/personal/{user}"); string realm = TokenHelper.GetRealmFromTargetUrl(url); var token = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal,url.Authority, realm).AccessToken;

    • 标记变量包含可在OneDrive for Business API请求中用作承载标记的AccessToken(例如,从其他用户获取文件'OneDrives') .

    https://{tenantid}-my.sharepoint.com/_api/v2.0/drives/{driveId}/items/{itemId}/

相关问题