我生成具有以下权利的AAD令牌。
AllSites.FullControl AllSites.Manage AllSites.Read
AllSites.Write email Mail.Read Mail.Send MyFiles.Read
MyFiles.Write openid profile Sites.Search.All TermStore.Read.All
TermStore.ReadWrite.All User.Read User.Read.All User.ReadBasic.All User.ReadWrite.All
使用nuget SharePointPnPCoreOnline时出现401 Unauthorized,我也尝试过TTCUE.NEtCore.SharepointOnline.CSOM。
我创建了具有各种权限的AAD应用注册。该权限适用于Mail.Read,但不适用于SharePoint。
using (var context = new ClientContext("URL"))
{
context.AuthenticationMode = ClientAuthenticationMode.Anonymous;
context.FormDigestHandlingEnabled = false;
context.ExecutingWebRequest +=
delegate (object oSender, WebRequestEventArgs webRequestEventArgs)
{
webRequestEventArgs.WebRequest.Headers["Authorization"] =
"Bearer " + token;
};
context.Load(context.Web);
context.ExecuteQueryAsync().GetAwaiter().GetResult();
Console.WriteLine(context.Web.Title);
Console.ReadLine();
}
答案 0 :(得分:0)
我已经找到答案了。 SharePoint CSOM访问需要Azure Active Directory V1令牌。确保您不尝试使用V2令牌进行访问。