获取组的 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.All
、Group.Read.All
和 Sites.ReadWrite.All
权限。
使用 Postman,我在调用组/{{id}}/site/root 时得到以下信息,使用相同的标记(隐藏值都是正确的)
您可以尝试使用以下方式为群组站点上传文件:
var item = await graphClient.Groups[groupId].Drive.Root
.ItemWithPath("test.docx")
.Content
.Request()
.PutAsync<DriveItem>(stream);
通过 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.All
、Group.Read.All
和 Sites.ReadWrite.All
权限。
使用 Postman,我在调用组/{{id}}/site/root 时得到以下信息,使用相同的标记(隐藏值都是正确的)
您可以尝试使用以下方式为群组站点上传文件:
var item = await graphClient.Groups[groupId].Drive.Root
.ItemWithPath("test.docx")
.Content
.Request()
.PutAsync<DriveItem>(stream);