Pnp 框架主要用于与 SharePoint 数据进行交互,但有一些方法可以通过 PowerShellGet-PnPPowerPlatformEnvironment
示例从 PowerPlatform 获取流和应用程序,但这对我不起作用,因为我需要创建一个 azure 函数(.net 核心)才能工作用它。你知道任何可能有帮助的 c# 库吗?
请,关于这个主题的任何指导将不胜感激。
谢谢
Pnp 框架主要用于与 SharePoint 数据进行交互,但有一些方法可以通过 PowerShellGet-PnPPowerPlatformEnvironment
示例从 PowerPlatform 获取流和应用程序,但这对我不起作用,因为我需要创建一个 azure 函数(.net 核心)才能工作用它。你知道任何可能有帮助的 c# 库吗?
请,关于这个主题的任何指导将不胜感激。
谢谢
下面是使用 pnp 框架并通过 vs 代码部署的示例 C# azure 函数代码
public class DefaultFunctions
{
private AppInfo _appInfo;
private readonly IPnPContextFactory _pnpContextFactory;
public DefaultFunctions(AppInfo appInfo, IPnPContextFactory pnpContextFactory)
{
_appInfo = appInfo;
_pnpContextFactory = pnpContextFactory;
}
[FunctionName("GetLists")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "GetLists")] HttpRequestMessage request, ILogger log)
{
var query = request.RequestUri.ParseQueryString();
var siteUrl = query["siteUrl"];
var tenantId = query["tenantId"];
var clientSecret = new SecureString();
foreach (char c in _appInfo.ClientSecret) clientSecret.AppendChar(c);
var onBehalfAuthProvider = new OnBehalfOfAuthenticationProvider(_appInfo.ClientId, tenantId, clientSecret, () => request.Headers.Authorization.Parameter);
var results = new List<ListData>();
using (var pnpContext = await _pnpContextFactory.CreateAsync(new System.Uri(siteUrl), onBehalfAuthProvider))
{
var lists = pnpContext.Web.Lists.Load(l => l.Id, l => l.Title).ToList();
foreach (var list in lists)
{
results.Add(new ListData { Title = list.Title });
}
}
return new JsonResult(results);
}
}
有关完整信息,您可以参考Azure 函数中的 SharePoint 数据。