我接受了一些使用 SharePoint 的工作。我需要发现 API 并调用它们。我已经寻找示例并遵循了一个看起来像这样的示例:
var siteUrl = "https://contoso.sharepoint.com";
var username = "[email protected]";
var password = "pass@word1";
var securePassword = new SecureString();
password.ToCharArray().ToList().ForEach(c => securePassword.AppendChar(c));
var credentials = new SharePointOnlineCredentials(username, password);
var handler = new HttpClientHandler();
handler.Credentials = credentials;
var uri = new Uri(siteUrl);
handler.CookieContainer.SetCookies(uri, credentials.GetAuthenticationCookie(uri));
var json = string.Empty;
using (var client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
var response = await client.GetAsync(siteUrl + "/_api/Web");
response.EnsureSuccessStatusCode();
json = await response.Content.ReadAsStringAsync();
}
我已经安装了这些库:唉,我将图像粘贴到 SO 中,但它不起作用
Microsoft.Sharepoint.Client
Microsoft.Sharepoint.Client.Runtime
TICUE.NetCore.SharepointOnline.CSOM.16......
我注意到所有 doco 都说前两个可以工作,但他们没有。最后一个完全给了我课程。
但是还是报错,终于可以看到SharePointOnlineCredentials类了,但是IDE坚持说GetAuthenticationCookie不是方法。我发现的几乎所有在线说明都不起作用,Sharepoint API 会不断变化吗?有真实的真相来源吗?我发现的 Microsoft 文档说存在这种方法。
我在 Maui 外部创建了一个 DLL,以防这是 Maui 问题,但我的核心代码在 Maui 项目中。