You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过C#客户端为OneDrive共享Word文档设置「可审阅」权限

在C#中为OneDrive for Business上的Word文档设置「可审阅」权限

要实现OneDrive for Business上Word文档的「可审阅」权限,需要结合Word文档的限制编辑设置和OneDrive的共享权限——OneDrive原生共享权限没有直接的「审阅」选项,该权限本质是让用户拥有文档查看权限,同时仅允许添加批注(无法修改正文)。以下是具体的C#实现步骤:

核心思路

  1. 为Word文档开启「仅允许批注」的限制编辑保护;
  2. 为文档创建具有「查看」权限的共享链接(或针对特定用户设置查看权限)。

实现步骤

1. 准备依赖

安装Microsoft Graph SDK相关NuGet包:

Install-Package Microsoft.Graph
Install-Package Azure.Identity

2. 初始化Graph客户端

使用服务主体认证(适用于后台程序):

using Microsoft.Graph;
using Azure.Identity;

// 替换为你的租户、客户端ID和密钥
var tenantId = "your-tenant-id";
var clientId = "your-client-id";
var clientSecret = "your-client-secret";
var scopes = new[] { "https://graph.microsoft.com/.default" };

var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential, scopes);

3. 设置Word文档的「仅允许批注」保护

通过Microsoft Graph Word API设置文档保护类型为Comments:

// 替换为你的Drive ID和文档DriveItem ID
var driveId = "your-drive-id";
var driveItemId = "your-drive-item-id";

var documentProtection = new DocumentProtection
{
    ProtectionType = DocumentProtectionType.Comments,
    // 若需密码保护可添加Password字段,企业环境通常无需设置
};

await graphClient.Drives[driveId].Items[driveItemId].Word.DocumentProtection
    .Request()
    .PatchAsync(documentProtection);

4. 创建「查看」权限的共享链接

为文档创建查看权限的共享链接,确保用户仅能查看并批注文档:

var sharingPermission = new Permission
{
    Roles = new List<string> { "read" },
    Link = new SharingLink
    {
        Type = SharingLinkType.View
    }
};

var createdPermission = await graphClient.Drives[driveId].Items[driveItemId].Permissions
    .Request()
    .AddAsync(sharingPermission);

关键注意事项

  • 权限配置:确保应用程序已在Azure AD中配置Files.ReadWrite.All或Sites.ReadWrite.All的应用权限;
  • 特定用户共享:若需给指定用户设置审阅权限,可在Permission对象中添加Recipients列表,仍将Roles设为read;
  • 权限组合:必须同时设置文档的批注保护和OneDrive的查看权限,缺一不可。

内容的提问来源于stack exchange,提问作者Peter Dongan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:15:21