我已成功创建应用程序注册,并且可以使用生成的访问令牌查询 SharePoint。文件,
Panda.jpg
位于 SharePoint 内的以下位置,
下面提到的值是静态的(文本值),
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,以便我可以将它们保存为配置?
您可以使用 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