Я создал приложения логики в Azure, которые используют мои учетные данные для подключения к нашим сайтам SharePoint Online, а затем работают без меня. Я хочу выполнять более сложные операции на сайтах SharePoint и предпочел бы создать приложение-функцию C #. Однако я не вижу способа передать свои учетные данные Microsoft.SharePoint.Client
без моего присутствия для аутентификации. Я исследовал использование сертификата, но для этого требуется одобрение администратора, которое я не могу получить. Могу ли я использовать существующее подключение к приложению логики SharePoint, которое содержит мои учетные данные, и передать их в пользовательское приложение-функцию? Вот краткое изображение того, как выглядит соединение в приложении Logic. Вместо использования встроенного действия Azure я хочу заменить его своим настраиваемым приложением-функцией, передающим это соединение приложению-функции.
Затем мне нужно было бы использовать это, чтобы каким-то образом создать ClientContext:
var ctx = new ClientContext(siteUrl);
ctx.ExecutingWebRequest += (s, e) =>
{
e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + authenticationResult.AccessToken;
};
return ctx;
Что затем можно было бы использовать против сайта SharePoint:
using (ClientContext ctx = await csomHelper.GetClientContext(siteUrl))
{
Web web = ctx.Web;
ctx.Load(web);
ctx.ExecuteQuery();
log.LogInformation($"found site : {web.Title}");
}