操作系统:Win11
图 API:版本 5
Graph API 权限:Users.Read、Files.ReadWrite
不会引发任何错误。我已经打开了图形 api 调用的日志记录,也没有发现任何错误。
该通话对我来说效果很好,但我是 OneDrive 中子文件夹的所有者。
我什至更新了子文件夹的访问权限,以便至少一个用户有权编辑该文件夹中的项目。
几年前推荐了与此类似的帖子Files.ReadWrite.All。
有人可以证实这一点吗?我没有足够的访问权限级别向公司中的每个人授予这些权限,更不用说一个人了。我想确定地联系我们的安全小组,而不仅仅是另一个善意的猜测。
private async static Task UploadFile(string filePath)
{
string oneDriveRootId = "-- drive id of root OneDrive folder --";
string itemId = "-- ID OF SUBFOLDER --";
try
{
byte[] data = System.IO.File.ReadAllBytes(filePath);
using (Stream stream = new MemoryStream(data))
{
var graphClient = GraphAuthentication.GetGraphServiceClient(loggedOnUserEmail);
var item = await graphClient.Drives[oneDriveRootId]
.Items[itemId]
.ItemWithPath(filePath)
.Content
.PutAsync(stream);
}
}
catch (Exception ex)
{
Console.WriteLine(" Error uploading {0}\n\n{1}", filePath, ex);
}
}
是的,您需要
Files.ReadWrite.All
才能对不属于您自己的驱动器进行调用。 Files.ReadWrite
范围仅向调用者驱动器授予调用应用程序权限。