TL; DR:
如何以编程方式与外部用户共享SharePoint联机文件夹,以便该用户仅需要访问代码,而无需Microsoft帐户。
完整版本: 我正在在线使用SharePoint。我想与外部用户共享SharedDocuments列表中的文件夹。从SharePoint前端开始这很简单-选择文件夹,选择共享,输入外部用户的电子邮件地址,然后选择复制链接。
SharePoint将生成一个我可以发送给外部用户的URL。外部用户访问该URL以请求通过电子邮件发送访问代码。输入访问代码允许用户访问文件夹。用户不需要Microsoft帐户。完善。
我想用代码(c#和csom)实现这一点。具体来说,我希望能够指定一个文件夹和外部电子邮件地址并检索共享URL。
我尝试过:
Microsoft.SharePoint.Client.Web.CreateOrganizationSharingLink()
clientContext.Web.ShareDocument()
DocumentSharingManager.UpdateDocumentSharingInfo()
WebSharingManager.UpdateWebSharingInformation()
这些方法都生成一个链接-但是该链接需要一个Microsoft帐户。与上面的UI中生成的链接不同。
是否可以生成仅访问码链接?
答案 0 :(得分:1)
您可以从Nuget OfficeDevPnP.Core
安装此库。它包括Web
对象的扩展方法以创建匿名URL。
用法:
string sharedUrl = web.CreateAnonymousLinkForDocument("directUrlToTheItem", ExternalSharingDocumentOption.View);