C# 使用Microsoft应用程序注册门户通过Microsoft Graph访问SharePoint

C# 使用Microsoft应用程序注册门户通过Microsoft Graph访问SharePoint,c#,microsoft-graph-api,sharepoint-online,C#,Microsoft Graph Api,Sharepoint Online,我正在尝试使用v2.0端点(Microsoft应用程序注册门户)通过Microsoft Graph访问SharePoint,但无法进行身份验证 我正在使用以下代码 var cca = new ConfidentialClientApplication(client_id, "https://login.microsoftonline.com/testtest.onmicrosoft.com/v2.0/", "http://localhost:61716/", new ClientCredenti

我正在尝试使用v2.0端点(Microsoft应用程序注册门户)通过Microsoft Graph访问SharePoint,但无法进行身份验证

我正在使用以下代码

var cca = new ConfidentialClientApplication(client_id, "https://login.microsoftonline.com/testtest.onmicrosoft.com/v2.0/", "http://localhost:61716/", new ClientCredential(password), null, null);
        AuthenticationResult authResult = cca.AcquireTokenForClientAsync(new string[] { "https://graph.microsoft.com/.default" }).GetAwaiter().GetResult();

        var graph = new GraphServiceClient(new DelegateAuthenticationProvider((message) =>
        {
            message.Headers.Authorization = new AuthenticationHeaderValue("bearer", authResult.AccessToken);

            return Task.FromResult(0);
        }));
我当前收到错误消息“scp或角色声明需要出现在令牌中。”

如何向应用程序注册门户添加适当的权限,以及如何从我的C#应用程序应用/访问SharePoint


编辑:我想澄清我不想使用Azure广告,我想使用

需要在您的应用程序项目中添加权限

Sites.Read.All, Sites.ReadWrite.All
如果使用aspnet MVC,只需将图形范围修改为web config()

如果您使用NetCore,请从开始。然后在appsettings中修改图形范围


如果您使用Angular,请从开始,根据您的需求选择基于SDK或基于Rest。然后在config.js中设置图形范围

谢谢,我想使用而不是Azure广告。有没有办法做到这一点?你的C项目是什么?如果您使用MVC/NetCore,只需从官方网站或Github的示例开始。然后在webconfig或appsettings中修改GraphScope。我的C#API连接到使用V2端点进行单点登录的Angular Frontend。我希望能够正确配置应用程序作用域,以便可以将该令牌从UI传递到API,然后再传递到Sharepoint,以便使用在UI中获得的用户作用域从API获取Sharepoint访问权限。前端库不是密钥。关键是你的整个项目是什么语言:MVC/NETCore/PHP/Angular等等。只需找到项目配置以添加所需的权限。是的,我理解,但如何将图形范围添加到Microsoft应用程序注册门户?访问这些作用域需要什么字符串?