获取组的 Sharepoint 站点并使用 Graph 上传文件

Get the Sharepoint site for a Group and upload a file using Graph

通过 Teams 应用程序使用 MS Graph SDK,我正在尝试获取群组的 Sharepoint 站点并向其上传文件。我无法获得对网站驱动器的引用,它对我来说始终为空。这是我正在尝试的:

var siteName = "testSite";
var site = (await graphService.Groups[groupId].Sites.Request().GetAsync())
    .FirstOrDefault(x => x.DisplayName == SiteName);   

using var wc = new WebClient();
using var stream = new MemoryStream(wc.DownloadData(attachment.DownloadUrl));
// site.Drive is always null
var uploadedFile = await site.Drive.Root
    .ItemWithPath($"Test/123/file.jpg").Content.Request().PutAsync<DriveItem>(stream);  

该应用程序具有 Files.ReadWrite.AllGroup.Read.AllSites.ReadWrite.All 权限。

使用 Postman,我在调用组/{{id}}/site/root 时得到以下信息,使用相同的标记(隐藏值都是正确的)

您可以尝试使用以下方式为群组站点上传文件:

   var item = await graphClient.Groups[groupId].Drive.Root
               .ItemWithPath("test.docx")
               .Content
               .Request()
               .PutAsync<DriveItem>(stream);