Как получить Члены под менеджером, используя Microsoft Graph, используя .NET MVC? - PullRequest
0 голосов
/ 07 декабря 2018

Я довольно новичок в C # и пытаюсь получить List directReports под менеджером, который вошел в систему и прошел проверку подлинности с помощью AAD.Я просто не могу понять, как сделать HTTP-запрос (GET / users / {id | userPrincipalName} / directReports), чтобы получить псевдоним.

Спасибо

пс.Я использую ASP.NET MVC, и это документ, который я следую

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

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Возможно, вы захотите просмотреть справочную документацию для directReports: https://docs.microsoft.com/en-us/graph/api/user-list-directreports?view=graph-rest-1.0

Кроме того, чтобы получить токен для доступа к графику, вы найдете следующий пример (веб-приложение, вызывающее 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);
   ...
  }
 }
0 голосов
/ 11 декабря 2018

Если вы боретесь с тем, как делать запросы к API, я бы рекомендовал использовать пакет nuget GraphServiceClient, мы используем его, и он довольно хорош:

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

Тамдовольно хорошие инструкции в README.Вы, вероятно, хотите что-то вроде этого:

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...