MS Graph SDK - 向任何用户分配许可证
MS Graph SDK - assigning license to any user
我正在尝试使用 MS Graph API 中的 assignLicense 功能,如 here
所述
当我使用 SDK 时,我正在查看 C# 示例,它使用
graphServiceClient.Me.AssignLicense
但是,graphServiceClient.Me 指的是登录用户。我在服务器端应用程序中,所以 .Me 是应用程序,而不是用户,我没有看到指定的方法Id/UserPrincipalName 将请求发送给正确的用户。
关于如何在使用 GraphServiceClient 时注入正确的 id/upn 有什么想法吗?
设法自己弄明白了
graphServiceClient.Users[id].AssignLicense
是要走的路.. 不确定如何使用 upn,但用户 ID 工作正常。
您不能将 Me
用于应用程序范围(即 app-only 场景)。 "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>
我正在尝试使用 MS Graph API 中的 assignLicense 功能,如 here
所述当我使用 SDK 时,我正在查看 C# 示例,它使用
graphServiceClient.Me.AssignLicense
但是,graphServiceClient.Me 指的是登录用户。我在服务器端应用程序中,所以 .Me 是应用程序,而不是用户,我没有看到指定的方法Id/UserPrincipalName 将请求发送给正确的用户。
关于如何在使用 GraphServiceClient 时注入正确的 id/upn 有什么想法吗?
设法自己弄明白了
graphServiceClient.Users[id].AssignLicense
是要走的路.. 不确定如何使用 upn,但用户 ID 工作正常。
您不能将 Me
用于应用程序范围(即 app-only 场景)。 "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>