SharePoint csom ADAL令牌401未经授权

时间:2019-08-17 16:51:10

标签: sharepoint sharepoint-online

我生成具有以下权利的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();
        }

1 个答案:

答案 0 :(得分:0)

我已经找到答案了。 SharePoint CSOM访问需要Azure Active Directory V1令牌。确保您不尝试使用V2令牌进行访问。