Files
Adam Hathcock e341772cbc add csharpier
2024-05-21 16:34:46 +01:00

67 lines
2.0 KiB
C#

using System;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using PnP.Core.Model.SharePoint;
using PnP.Framework;
using ProxyInterfaceConsumerForPnP.Implementations;
using ProxyInterfaceConsumerForPnP.Interfaces;
namespace ProxyInterfaceConsumerForPnP;
public class Program
{
public static async Task Main()
{
try
{
var authManager = new AuthenticationManager(
"15b347bf-90a2-4c16-aa76-5a3263476b59",
"Test.pfx",
Environment.GetEnvironmentVariable("Test.pfx_PWD"),
"s7gb6.onmicrosoft.com"
);
using var clientContext = await authManager.GetContextAsync(
"https://s7gb6.sharepoint.com/sites/Test"
);
clientContext.Load(clientContext.Web, p => p.Title);
await clientContext.ExecuteQueryRetryAsync();
Console.WriteLine(clientContext.Web.Title);
IClientContext cp = new ClientContextProxy(clientContext);
cp.Load<ProxyInterfaceConsumerForPnP.Interfaces.IWeb, Web>(
cp.Web,
w => w.Lists,
w => w.Language,
w => w.Author
);
await cp.ExecuteQueryRetryAsync();
Console.WriteLine(cp.Web.Title + "," + cp.Web.Language + "," + cp.Web.Author.Email);
foreach (var list in cp.Web.Lists)
{
Console.WriteLine(" list : {0}", list.Title);
}
foreach (var list in cp.Web.Lists)
{
cp._Instance.Load(list, l => l.Author.Email);
}
await cp.ExecuteQueryRetryAsync();
Console.WriteLine(new string('-', 80));
foreach (var list in cp.Web.Lists)
{
Console.WriteLine(" list : {0} '{1}'", list.Title, list.Author.Email);
}
}
catch (Exception ex)
{
Console.WriteLine("Error Message: " + ex.Message);
}
}
}