首页 > 解决方案 > 从 SharePoint Online 下载某些用户的文件

问题描述

我的公司有商业账户和域名,\<company>.sharepoint.com 所以每个员工都有自己的 OneDrive 空间,比如 \<company>-my.sharepoint.com 我们有特殊的账户来管理我们存储在自己的 onedrive 上的文档,比如 存储在员工 onedrive 上的文件

我尝试了 SharePoint CSOM、Microsoft Graph API 和 SharePointAPI。使用其中任何一个,我都可以获得与文件相关的数据,例如名称、上次更改日期等。但是当我尝试使用以下内容下载它时:

var file = clientContext.Web.GetFileByUrl(<url to file>);
var fileStream = file.OpenBinaryStream();
clientContext.ExecuteQuery();

我有例外

文件未找到

即使使用https://developer.microsoft.com/en-us/graph/graph-explorer我也无法访问我的文件

也使用 SharePoint CSOM 我可以从 <company>.sharepoint.com/Shared%20Documents/Forms/AllItems.aspx 下载文件

有没有办法直接从员工文档库下载文件,或者它是被禁止的,我应该将所有文件移动到 SharePoint“通信站点”文档?

标签: .netsharepointsharepoint-online

解决方案


我通过使用本教程中的 Azure Active Directory 应用程序解决了这个问题 https://docs.microsoft.com/en-us/graph/auth-v2-service


推荐阅读