使用 C# 中的 Graph Api 下载 SharePoint 内容

问题描述 投票:0回答:1

我已成功创建应用程序注册,并且可以使用生成的访问令牌查询 SharePoint。文件,

Panda.jpg
位于 SharePoint 内的以下位置,

https://my-host.sharepoint.com/sites/ActiveSite/DocumentLirabry/ParentFolder/ImmediateFolder/Panda.JPG

下面提到的值是静态的(文本值),

my-host
ActiveSite
DocumentLibrary
ParentFolder
ImmediateFolder

但是他们的个人 ID 未知。我打算下载 Panda.jpg 文件。

我也查看了官方Microsoft文档和相关图表文档。这两个文档都建议获取相关资源(站点/文档库等)的 ID。因此,我必须进行一系列 API 调用来获取 id,直到找到有问题的文件。有没有办法直接用文本值查询路径并下载文件。

我还尝试使用 .net 6.0 的 PnP.Framework sdk 下载该文件,但似乎无法使用 Azure Active Directory 中的应用程序注册来调用 SharePoint。他们的文档建议,对于以下代码,需要直接在 SharePoint 中创建应用程序。

var context = new PnP.Framework.AuthenticationManager().GetACSAppOnlyContext(siteUrl, clientId, clientSecret)

最后,如果我确实需要使用 Id 进行查询,有什么方法可以获取共享点内 sp 项目的 id,以便我可以将它们保存为配置?

c# microsoft-graph-api sharepoint-2010
1个回答
0
投票

您可以使用 driveitem-get-content 从共享点下载文件。

GET /sites/{site-id}/drives/{drive-id}/root:/{path-relative-to-root}:/content  
GET /sites/{site-id}/drives/{drive-id}/items/{item-id}/content  
© www.soinside.com 2019 - 2024. All rights reserved.