C# 如何使用Microsoft.Graph客户端库获取分配的许可证

C# 如何使用Microsoft.Graph客户端库获取分配的许可证,c#,azure,office365,azure-active-directory,microsoft-graph-api,C#,Azure,Office365,Azure Active Directory,Microsoft Graph Api,是否有一种工作方式可以读取中用户的AssignedLicenses属性?我尝试了以下操作,但是AssignedLicenses属性始终返回null ALL,尽管有分配给用户的许可证 // test 1: using "Me" var lic = client.Me.Request().GetAsync().Result.AssignedLicenses; // test 2: using the Id of a user var lic = client.Users["<ID OF TH

是否有一种工作方式可以读取中用户的AssignedLicenses属性?我尝试了以下操作,但是AssignedLicenses属性始终返回null ALL,尽管有分配给用户的许可证

// test 1: using "Me"
var lic = client.Me.Request().GetAsync().Result.AssignedLicenses;

// test 2: using the Id of a user
var lic = client.Users["<ID OF THE USER>"].Request().GetAsync().Result.AssignedLicenses;
//测试1:使用“我”
var lic=client.Me.Request().GetAsync().Result.AssignedLicenses;
//测试2:使用用户的Id
var lic=client.Users[“”].Request().GetAsync().Result.AssignedLicenses;

正如您所发现的,在这里使用Select是正确的技术,即
Request().Select(“assignedLicenses”).GetAsync().Result.assignedLicenses


在图上,Select用于减少返回的属性集,并引入默认情况下未返回的属性。我们这样做是为了使默认数据包大小保持适度大小和可读性,并通过不将每个调用路由到获取大多数调用者不需要的数据所需的每个底层服务来保持高呼叫性能。

我刚刚发现,使用“Select”显式选择属性效果很好(var lic=client.Users[“”).Request().Select(“assignedLicenses”).GetAsync().Result.assignedLicenses;)。但是,根据文档,应该使用select来获取属性的子集。因此,我假设不通过“选择”将返回所有内容(包括许可证),感谢您的澄清。我只是想知道,因为当前的文档声明“所有的属性都将从实际调用中返回。”对于用户_get(),我会注意到这是一个文档错误。这个错误仍然没有被修复,因为今天仍然是这样说的。