C# 如何使用CSOM检索SharePoint共享链接

C# 如何使用CSOM检索SharePoint共享链接,c#,sharepoint,csom,C#,Sharepoint,Csom,我目前正在开发一个程序,将选定的文件上载到SharePoint上的特定文件夹(并在必要时自动创建文件夹),并使用SharePoint CSOM根据特定用户的电子邮件授予其访问权限,但是我无法检索我域外人员的链接 例如,使用我当前的代码,我检索的链接如下所示: https://domain.sharepoint.com/:f:/r/sites/TestSite/Shared%20Documents/2019/11157/Test%20Upload?csf=1 https://domain.sha

我目前正在开发一个程序,将选定的文件上载到SharePoint上的特定文件夹(并在必要时自动创建文件夹),并使用SharePoint CSOM根据特定用户的电子邮件授予其访问权限,但是我无法检索我域外人员的链接

例如,使用我当前的代码,我检索的链接如下所示:

https://domain.sharepoint.com/:f:/r/sites/TestSite/Shared%20Documents/2019/11157/Test%20Upload?csf=1
https://domain.sharepoint.com/:f:/s/TestSite/EmUDng-KzwxEtHKyJ9Okl0MBlS_z8gxGFl4UUjuGXHmR9w
但是,我尝试检索的链接如下所示:

https://domain.sharepoint.com/:f:/r/sites/TestSite/Shared%20Documents/2019/11157/Test%20Upload?csf=1
https://domain.sharepoint.com/:f:/s/TestSite/EmUDng-KzwxEtHKyJ9Okl0MBlS_z8gxGFl4UUjuGXHmR9w
我可以检索上面的链接,如果我进入SharePoint并手动检索它(程序正确地生成链接),但这违背了我程序的目的。该程序应该能够自动上传和链接检索我公司域内的文件

我不想要第一个链接,因为只有在我的域中的人才能使用它访问文件/文件夹。第二个链接允许任何被授予访问权限(通过电子邮件地址)的人访问该文件/文件夹

我当前正在使用以下代码检索第一个链接:

我还尝试了在StackExchange上找到的其他建议,例如:

我发现的所有例子都会导致不正确的链接


如果目前还不清楚,我不是在寻找匿名链接或如何创建共享链接(因为我已经有了这项工作),我是在寻找将出现的链接

我只是在随机尝试了所有内容后找到了解决方案。您可以执行以下操作:

首先,以我以前的方式创建共享链接:

SharingResult result = context.Web.ShareDocument(site,
                       email,
                       ExternalSharingDocumentOption.View,
                       false,
                       "Document Shared as test");
然后使用结果变量,获取其中一个受邀请用户的邀请链接,然后将其修改为适用于任何用户(结果表明,除了最后的参数外,所有用户的特定链接都是相同的)

这导致了正确的链接,我一直在寻找。我确实和微软的一些人谈过这个问题,所以,感谢微软告诉我这是不可能的