【发布时间】:2021-06-03 18:43:53
【问题描述】:
我已经为此奋斗了几天...我正在使用 CSCOM 连接到 SharePoint。一切正常,创建文件夹和上传文件。但是,我现在需要为外部用户创建一个共享文件夹(父级)链接,然后根据“提供访问权限的链接”而不是直接访问来启动电子邮件邀请。我可以创建并发送一个匿名链接,但这不是我们想要的。
string s = "password";
SecureString passWord = new SecureString();
foreach (var c in s)
passWord.AppendChar(c);
string siteURL = "siteurl";
string parentFolder = "parentfolder";
using (Microsoft.SharePoint.Client.ClientContext CContext = new Microsoft.SharePoint.Client.ClientContext(siteURL))
{
CContext.Credentials = new SharePointOnlineCredentials("s-eConnect@nzblood.co.nz",passWord);
var subFolders = CContext.Web.GetFolderByServerRelativeUrl(parentFolder).Folders;
CContext.Load(subFolders);
CContext.ExecuteQuery();
<<create sharing link for parent folder and send email to external user>>>
foreach (var subFolder in subFolders)
{
Console.WriteLine(subFolder.Name.ToString());
}
}
上面的代码遍历父文件夹的子文件夹,这只是为了确保我得到了正确的数据。但我似乎找不到任何可以让我创建共享链接并发送给外部用户以便他们获得邀请等的东西......
如果我添加以下内容,它会创建一个邀请,但通过直接访问将用户添加到整个站点......而不是通过链接到文件夹......
var users = new List<UserRoleAssignment>();
users.Add(new UserRoleAssignment()
{
UserId = "rhyndman@altara.net",
Role = Role.View
});
WebSharingManager.UpdateWebSharingInformation(CContext, CContext.Web, users, true, "You've been invited...", true, true);
CContext.ExecuteQuery();
任何帮助将不胜感激。
非常感谢
【问题讨论】:
标签: c# sharepoint