简体   繁体   English

分配许可证(Microsoft Graph API)

[英]Assign a License (Microsoft Graph API)

I'm trying to assign a license in C# via Graph API. 我正在尝试通过Graph API在C#中分配许可证。

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

Parameters: 参数:

addLicenses (AssignedLicense collection) addLicenses (AssignedLicense集合)

A collection of assignedLicense objects that specify the licenses to add. 指定要添加的许可证的assignedLicense对象的集合。 You can disable plans associated with a license by setting the disabledPlans property on an assignedLicense object. 您可以通过在assignedLicense对象上设置disabledPlans属性来禁用与许可证关联的计划。

removeLicenses (Guid collection) removeLicenses (Guid集合)

A collection of GUIDs that identify the licenses to remove. 标识要删除的许可证的GUID的集合。

Here is my code ... 这是我的代码...

var userQuery = await client.Users
  .Request()
  .Filter("userPrincipalName eq 'xxx@xxx.de'")
  .GetAsync();
var user = userQuery.FirstOrDefault();

var skus = await client.SubscribedSkus.Request().GetAsync();

do
{
  foreach (var sku in skus)
  {

    AssignedLicense aLicense = new AssignedLicense { SkuId = sku.SkuId };

    IList<AssignedLicense> licensesToAdd = new AssignedLicense[] { aLicense };
    IList<Guid> licensesToRemove = new Guid[] { };

    try
    {
      client.Users[user.Id].AssignLicense(licensesToAdd, licensesToRemove);
    }
  }
}
while (skus.NextPageRequest != null && (skus = await skus.NextPageRequest.GetAsync()).Count > 0);

I don't get an error, but it does not work. 我没有收到错误,但是没有用。 The user has no license ... 用户没有许可证...

I think you forgot something here: 我认为您在这里忘记了一些东西:

client.Users[user.Id].AssignLicense(licensesToAdd, licensesToRemove);

I think it should be: 我认为应该是:

await client.Users[user.Id].AssignLicense(licensesToAdd, licensesToRemove).Request().PostAsync();

PS: PS:

You can get the user with less code like: 您可以使用更少的代码来获得用户,例如:

var userQuery = await client.Users["xxx@xxx.de"].Request().GetAsync();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM