C# Microsoft Graph.NET客户端库:将文件上载到文档中心

C# Microsoft Graph.NET客户端库:将文件上载到文档中心,c#,microsoft-graph-api,C#,Microsoft Graph Api,我想使用Microsoft Graph.NET客户端库在Sharepoint文档中心中创建文件。似乎我可以成功创建该文件,但除了创建该文件的应用程序之外,其他人看不到该文件。当应用程序在“普通”文档库中使用完全相同的代码创建文件时,其他用户可以看到该文件(如预期) 以下是我使用的代码: var result = await client.Drives[documentCenterDriveId] .Items[subfolderId]

我想使用Microsoft Graph.NET客户端库在Sharepoint文档中心中创建文件。似乎我可以成功创建该文件,但除了创建该文件的应用程序之外,其他人看不到该文件。当应用程序在“普通”文档库中使用完全相同的代码创建文件时,其他用户可以看到该文件(如预期)

以下是我使用的代码:

var result = await client.Drives[documentCenterDriveId]
                         .Items[subfolderId]
                         .ItemWithPath(fileName)
                         .Content
                         .Request()
                         .PutAsync<DriveItem>(new MemoryStream(buffer));
但是,当转到Microsoft Graph Explorer时,请使用我的个人凭据(即与应用程序不同)登录,并发出以下GET请求

https://graph.microsoft.com/v1.0/drives/documentCenterDriveId/items/subfolderId/children
我得到一张空名单。如果我对“普通”文档库执行相同的操作,它将按预期工作

我在文档中心用检查了文件的权限

var perms = await client.Drives[documentCenterDriveId]
                        .Items[fileId]
                        .Permissions
                        .Request()
                        .GetAsync();
read
角色被授予我的帐户所属的组。这意味着我应该能够看到它


如何诊断此问题的根源?Sharepoint中是否有我可以找到更多信息的日志?运行代码时没有错误消息或异常。

我发现我还必须签入文件

await client.Drives[documentCenterDriveId].Items[result.Id].Checkin().Request().PostAsync();
我不知道为什么上传到“普通”文档库后不需要签入文件,但在文档中心我必须签入

await client.Drives[documentCenterDriveId].Items[result.Id].Checkin().Request().PostAsync();