Как открыть общий доступ к папке SharePoint для внешнего пользователя, не требуя учетной записи Microsoft - PullRequest
0 голосов
/ 23 мая 2019

TL; DR:

Как программно предоставить общий доступ к онлайн-папке SharePoint для внешнего пользователя, так что пользователю требуется только код доступа и не требуется учетная запись Microsoft.

Полная версия: Я использую SharePoint онлайн.Я хочу поделиться папками в списке SharedDocuments с внешними пользователями.Это просто из интерфейса SharePoint - выберите папку, выберите «Поделиться», введите адрес электронной почты внешних пользователей и выберите «Копировать ссылку».

enter image description here

SharePoint создаст URL-адрес, который я могу отправить внешнему пользователю.Внешний пользователь посещает URL-адрес, чтобы запросить код доступа для отправки по электронной почте.Ввод кода доступа позволяет пользователю получить доступ к папке.Пользователю не нужна учетная запись Microsoft.Отлично.

Я хочу реализовать это в коде (c # и csom).В частности, я хочу иметь возможность указать папку и внешние адреса электронной почты и получить URL-адрес для общего доступа.

Я пробовал:

Microsoft.SharePoint.Client.Web.CreateOrganizationSharingLink() clientContext.Web.ShareDocument() DocumentSharingManager.UpdateDocumentSharingInfo() WebSharingManager.UpdateWebSharingInformation()

Этивсе методы генерируют ссылку - однако ссылка требует учетной записи Microsoft.Он отличается от ссылки, сгенерированной в пользовательском интерфейсе (см. Выше).

Можно ли создать ссылку только для кода доступа?

1 Ответ

1 голос
/ 26 мая 2019

Вы можете установить эту библиотеку из Nuget OfficeDevPnP.Core. Включает метод расширения для объекта Web для создания анонимного URL.

Использование: string sharedUrl = web.CreateAnonymousLinkForDocument("directUrlToTheItem", ExternalSharingDocumentOption.View);

...