2017-10-04 60 views
2

作为CSP合作伙伴,我们目前在自动化流程中使用MSOL cmdlet。我们目前正在将我们的实施切换到Microsoft Graph API。如何辨别谁购买了订阅

MSOL通过Get-MsolSubscription提供了一种方法来了解订阅是由我们还是由其他服务提供商购买的。要知道这一点,我们检查OwnerObjectId属性,如果值是用我们的ID设置的,我们知道它已经被购买给我们。否则,这个属性是空的。

似乎Microsoft Graph API不支持此功能。 SubscribedSku似乎没有公开我们正在寻找的功能。

任何想法?

回答

0

如果我理解正确,您希望通过订购Azure CSP集成来获得订阅列表。

您可以检索与订单对应的Azure云解决方案提供程序(Azure CSP)订阅资源的集合。要检索资源,可以使用PowerShell,C#或REST API命令。

Powershell的指导

$customer = Get-PCCustomer -tenantid '<tenant id GUID>' 
Get-PCSubscription -tenantid $customer.id -orderid '<order id GUID>' 

C#SDK指南

通过以获得订阅列表,使用您的IAggregatePartner.Customers采集和调用ById()方法。然后拨打订阅属性,然后按ByOrderId()方法。通过致电获取()GetAsync()

// IAggregatePartner partnerOperations; 
// var selectedCustomerId as string; 
// string orderID; 

ResourceCollection<Subscription> customerSubscriptions = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ByOrder(orderID).Get(); 

REST API实施例

GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions?order_id={id-for-order} HTTP/1.1 
Authorization: Bearer <token> 
Accept: application/json 
MS-RequestId: 16fee928-dc2c-412f-adbb-871f68babf16 
MS-CorrelationId: c49004b1-224f-4d86-a607-6c8bcc52cfdd 
Connection: Keep-Alive 

查看在this document更多细节。

+0

不完全。这个用例是检查一个已经在我们公司购买了bot的租户的订阅。通过检查我的意思是检查包含在订阅中的数量和它的状态。通过MSOL,我们可以检查例如O365_BUSINESS_PREMIUM的所有订阅。 –

+0

@NormandBedard,好吧,这些示例没有得到您想要的SKU信息,但它获得了订阅的状态和其他详细信息。据我所知,没有办法使用Graph API直接获取所有你想要的信息。 –

相关问题