要继续我以编程方式创建和Azure应用程序(这从https://stackoverflow.com/a/44753728/1332416继续),我拥有获取foo
和subscriptionID
的核心,如下所示,但我'我是如何在本地创建应用程序及其相关服务主体的。这基本上是在PowerShell的情况下使用tenantId
和New-AzureRmADApplication
的地方。这个问题在https://stackoverflow.com/a/44631758/1332416得到了部分回答,但看起来.NET Core可能是导致某些问题的原因,因为找不到类型。
更具体一点,我的代码如下
New-AzureRmADServicePrincipal
答案 0 :(得分:2)
您可以获取访问令牌并调用Azure AD Graph API来创建应用程序和服务主体。 (Microsoft Graph API也允许它,但只允许通过beta端点)
您可以在此处找到应用程序实体文档:https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/entity-and-complex-type-reference#application-entity
要获取令牌,您的应用需要在Azure AD for Azure AD Graph API中授予必要的委派/应用权限。
然后,当您获得令牌时,请使用import requests
url = "https://www.clevelandorchestra.com/Services/PerformanceService.asmx/GetToolTipPerformancesForCalendar"
payload = {"startDate": "2017-06-30T21:00:00.000Z", "endDate": "2017-12-31T21:00:00.000Z"}
headers = {'content-type': "application/json"}
json_response = requests.post(url, json=payload, headers=headers).json()
for performance in json_response['d']:
print(performance["performanceName"], performance["dateString"])
# Star-Spangled Spectacular Friday, June 30, 2017
# Blossom: Tchaikovskys Spectacular 1812 Overture Saturday, July 1, 2017
# Blossom: Tchaikovskys Spectacular 1812 Overture Sunday, July 2, 2017
# Blossom: A Salute to America Monday, July 3, 2017
# Blossom: A Salute to America Tuesday, July 4, 2017
作为资源。
然后你应该可以用这样的身体发布到https://graph.windows.net
:
https://graph.windows.net/tenant-id/applications?api-version=1.6
使用您的租户ID替换网址中的 tenant-id 。
这是创建的应用程序,在响应中您将获得创建的应用程序。
从中获取{
"displayName":"Test app",
"identifierUris": [
"https://mytenant.onmicrosoft.com/testapp"
],
"homePage":"http://localhost"
}
字段,您将需要它来创建服务主体。
然后使用这样的正文发布:appId
:
https://graph.windows.net/tenant-id/servicePrincipals?api-version=1.6
这应该创建相应的服务主体。