Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Office 365 API Microsoft图形身份验证失败_C#_.net_Active Directory_Office365_Office365api - Fatal编程技术网

C# Office 365 API Microsoft图形身份验证失败

C# Office 365 API Microsoft图形身份验证失败,c#,.net,active-directory,office365,office365api,C#,.net,Active Directory,Office365,Office365api,我从中注册了示例应用程序 标准登录正在运行,但当我尝试使用以下代码使其更简单时: var authContext = new AuthenticationContext(Settings.AzureADAuthority); var token = authContext.AcquireToken(Settings.O365UnifiedAPIResource, new ClientCredential(Settings.ClientId, Settings.C

我从中注册了示例应用程序

标准登录正在运行,但当我尝试使用以下代码使其更简单时:

        var authContext = new AuthenticationContext(Settings.AzureADAuthority);

        var token = authContext.AcquireToken(Settings.O365UnifiedAPIResource, new ClientCredential(Settings.ClientId, Settings.ClientSecret)).AccessToken;
我收到以下错误:
在目录microsoft.com中找不到标识符为“[ClientId here]”的应用程序

Setting.O365UnifiedAPIResource = @"https://graph.microsoft.com/";
Settings.AzureADAuthority = @"https://login.microsoftonline.com/common";
有人知道问题出在哪里吗

Settings.AzureADAuthority = @"https://login.microsoftonline.com/{tenant_id or tenant_name}";
使用客户端凭据(客户端id+客户端机密)获取令牌时。您应该明确指定租户

例如:

{租户_id}

{your_domain.onmicrosoft.com}

顺便说一句,由于此注册将用于示例应用程序,因此它将仅具有Mail.Send权限,这是一种委托权限。要获取应用令牌,您还需要在Azure AD中授予应用级别权限,因为您正在获取应用令牌而不是用户令牌

使用客户端凭据(客户端id+客户端机密)获取令牌时。您应该明确指定租户

例如:

{租户_id}

{your_domain.onmicrosoft.com}

顺便说一句,由于此注册将用于示例应用程序,因此它将仅具有Mail.Send权限,这是一种委托权限。要获取应用令牌,您还需要在Azure AD中授予应用级别权限,因为您正在获取应用令牌而不是用户令牌


查看您的设置。ClientId,您是否将项目中的[ClientId here]替换为注册示例应用程序时获得的客户端ID字符串?@Aleksa。我和你以前遇到过同样的问题。您可以将AzureADAuthority修改为“”。然后代码开始工作。检查您的设置。ClientId,您是否将项目中的[ClientId here]替换为注册示例应用程序时获得的客户端ID字符串?@Aleksa。我和你以前遇到过同样的问题。您可以将AzureADAuthority修改为“”。然后代码就工作了。