【问题标题】:Send Sharing Link for Sharepoint Folder发送 Sharepoint 文件夹的共享链接
【发布时间】: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


    【解决方案1】:

    您可以尝试使用DocumentSharingManager.UpdateDocumentSharingInfo 方法发送Sharepoint 文件夹的共享链接:https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-csom/mt143107(v=office.15)

     DocumentSharingManager.UpdateDocumentSharingInfo(CContext, folderabsoluteUrl, users, true, true, true, "You've been invited...", true, true);
    

    【讨论】:

    • 谢谢迈克尔,这有效,但只是为了让用户直接访问,它不会在“链接给予访问”部分创建外部用户。企业对这种方法不满意 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 2016-10-09
    • 2015-10-21
    • 2022-12-22
    相关资源
    最近更新 更多