【问题标题】:How to retrieve Members under manager using Microsoft Graph using .NET MVC?如何使用 .NET MVC 使用 Microsoft Graph 检索经理下的成员?
【发布时间】:2019-10-07 11:19:49
【问题描述】:

我是 C# 的新手,我正在尝试在已登录并使用 AAD 进行身份验证的经理下获取 List directReports。 (GET /users/{id | userPrincipalName}/directReports) 获取别名。

谢谢

ps。我正在使用 ASP.NET MVC,这是我正在关注的文档

https://docs.microsoft.com/en-us/graph/api/user-list-directreports?view=graph-rest-1.0

【问题讨论】:

  • 欢迎来到 StackOverflow!请发布您当前尝试的代码,我们将为您提供更多帮助。

标签: asp.net asp.net-mvc microsoft-graph-api


【解决方案1】:

如果您正在为如何向 API 发出请求而苦恼,我建议您使用 GraphServiceClient nuget 包,我们使用它,它非常好:

https://github.com/microsoftgraph/msgraph-sdk-dotnet

自述文件中有很好的说明。你可能想要这样的东西:

var graphServiceClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) => {
    requestMessage
        .Headers
        .Authorization = new AuthenticationHeaderValue("bearer", accessToken);

    return Task.FromResult(0);
}));

var directReports = await graphServiceClient.Users[userId].DirectReports.Request().GetAsync();
foreach (var directReport in directReports)
{
    //do something
}

【讨论】:

  • 太棒了!这使得向 API 发出 HTTP 请求变得容易
【解决方案2】:

您可能希望查看 directReports 的参考文档:https://docs.microsoft.com/en-us/graph/api/user-list-directreports?view=graph-rest-1.0

此外,为了获取访问图表的令牌,您会发现以下示例(Web 应用调用 Grap)非常接近您想要实现的目标:aspnetcore2-2-signInAndCallGraph

HomeController.cs#L41-L64

public async Task<IActionResult> Contact()
{
 var scopes = new string[] { "user.read" };
 try
 {
  var accessToken = await _tokenAcquisition.GetAccessTokenOnBehalfOfUser(HttpContext, scopes);
   CallGraphApiOnBehalfOfUser(accessToken);
   ...
  }
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多