c# - 获取组的 Sharepoint 站点并使用 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,我在调用 groups/{{id}}/site/root 时得到以下信息,使用相同的令牌(隐藏的值都是正确的)
解决方案
您可以尝试使用以下方式为群组网站上传文件:
var item = await graphClient.Groups[groupId].Drive.Root
.ItemWithPath("test.docx")
.Content
.Request()
.PutAsync<DriveItem>(stream);
推荐阅读
- spring - 没有在 WebStomp.connect 上调用带有 Spring Security ChannelInterceptor.presend 函数的 Spring WebSockets
- powershell - 将测试路径输出重定向到文本文件
- python - 有没有办法在python中安装包后下载包资源?
- mysql - mysql的日期时间值不正确
- java - 扫描仪使用循环从命令行读取文本文件,但循环不会中断
- python - django 创建客户端用户
- excel - 将粘贴值和格式从一张表复制到另一张表时出现 VBA 错误 1004
- asp.net - Hangfire:看起来工作被中止了
- php - 在 Mac 上为 Laravel 7 / Homestead 更新 PHP 到 7.2.5
- webpack - Webpack 需要一个合适的加载器来处理这个文件类型错误