如何通过 C# 在 Sharepoint Online 中创建共享 link?

How to create sharing link in Sharepoint Online via c#?

我有一个应用程序可以使用 SharePointPnPCoreOnline 库处理 Sharepoint Online 中的文件。当一堆文件上传到某个特定文件夹时,我想为这个文件夹创建一个共享 link,这样我组织中拥有 link 的每个人都可以阅读这些文件。

我知道如何在 Sharepoint 网络中这样做 UI:转到您的站点 -> 文档 -> Select 特定文件夹或文件 -> 管理访问 -> 共享 -> Select 访问类型(我组织中的每个人都具有 link),输入收件人姓名并单击 'Send'。现在我想在我的应用程序中这样做。

我找到了如何检索安全对象的共享 link。您可以使用 ObjectSharingInformation class 和 Sharing links 属性。但是我没有创建共享的选项 link.

那么有没有可能以编程方式实现?如果无法通过 SharePointPnPCoreOnline,也许我可以使用一些 API?我尝试使用 Fiddler 捕获对 Graph API 的 http 请求,这些请求是在我在 Web 界面中创建 link 时发送的,但无法提取任何有价值的参数。

提前致谢!

尝试

using (ClientContext context = new ClientContext("https://xxx.sharepoint.com/sites/s"))
            {
                string s = "password";
                SecureString passWord = new SecureString();
                foreach (var c in s)
                    passWord.AppendChar(c);
                context.Credentials = new SharePointOnlineCredentials("user@xxx.onmicrosoft.com", passWord);

                //ObjectSharingInformation
                ClientResult<string> url = Web.CreateOrganizationSharingLink((ClientRuntimeContext)context, "file url", false);
              context.ExecuteQuery();