如何在Azure门户上调用API?
我有一些要求需要在我的代码中在Azure门户上调用其他API。我注意到可以在Portal上执行某些操作,但Microsoft没有提供关联的API或SDK。
我在这里有一些发现。 例如,假设我想在AAD中启用“应用程序代理”:
众所周知,没有正式发布的SDK,powershll或API,我们可以手动在Azure门户上执行此功能,但无法使用代码执行此功能。
对于这种情况,我们可以尝试获取其请求以进行尝试。
我们可以获取有关此请求的所有信息,以便我们可以通过代码调用此API。我们应该解决的唯一问题是获得正确的访问令牌。
要获取访问令牌,我们应该知道我们需要什么资源。因此,我们应该分析我们刚捕获的请求中的访问令牌:
所以我们需要的资源应该是:74658136-14ec-4630-ad9b-26e160ff0fc6
所以我们应该以这种方式请求访问令牌:
请求网址:
post https://login.microsoftonline.com/<your tenant ID>/oauth2/token
请求标题:
Content-Type: application/x-www-form-urlencoded
请求机构:
resource=74658136-14ec-4630-ad9b-26e160ff0fc6&client_id=1950a258-227b-4e31-a9cf-717495945fc2&grant_type=password&username=<Azure admin username(URL encoded)>&password=<admin password(URL encoded)>
有了这个请求,我们就可以获得一个访问令牌来调用我们想要的API。
顺便说一下,如果你是微软的合作伙伴,我会找到一个解决天蓝色查询的免费频道:https://aka.ms/devchat。他们支持在线聊天和电子邮件。