MS Graph SDK - присвоение лицензии любому пользователю - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь использовать функцию assignLicense в MS Graph API, как описано здесь

Поскольку я использую SDK, я смотрю на образец C #, который использует

graphServiceClient.Me.AssignLicense

Но graphServiceClient.Me относится к зарегистрированному пользователю. Я работаю в приложении на стороне сервера, поэтому. Я - приложение, а не пользователь, и я не вижу способа указать Id / UserPrincipalName отправить запрос нужному пользователю.

Любые идеи о том, как ввести правильный идентификатор / upn при использовании GraphServiceClient?

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Вы не можете использовать Me с областями применения (т. Е. Сценарий только для приложения). «Я» - это просто псевдоним для текущего аутентифицированного пользователя, и поскольку у вас нет аутентифицированного пользователя, Graph не может знать, к какому пользователю вы хотите обратиться.

Вам необходимо явно указать пользователя, либо id, либо его userPrincipalName:

await graphClient
  .Users["id"]
  .AssignLicense(licensesToAdd, licensesToRemove) 
  .Request()      
  .PostAsync();

await graphClient
  .Users["upn@domain.onmicrosoft.com"]
  .AssignLicense(licensesToAdd, licensesToRemove) 
  .Request()      
  .PostAsync();

Обратите внимание, что licensesToAdd это List<AssignedLicense>, а licensesToRemove это List<Guid>

0 голосов
/ 08 мая 2019

Успел разобраться сам

graphServiceClient.Users[id].AssignLicense 

это путь ... не знаю, как это сделать с upn, но идентификатор пользователя работает нормально.

...