我希望通过Billing Api和Java应用程序获得Azure RateCard。首先,我创建一个正常工作的AccessToken。但是当我想使用这个AccessToken来获得一个RateCard时,我得到一个……
在您的示例中,您是否已授予服务主体足够的权限,这是访问Windows Azure服务管理API的权限。
这是一个非常好的示例,如果您想要访问Java中的管理资源,如何在Azure AD中配置应用程序
https://blogs.msdn.microsoft.com/azureossds/2015/06/23/authenticating-azure-resource-management-rest-api-requests-using-java/
或者,以下是如何配置本机应用程序以使用Azure Rate卡Api 步骤1:在AAD租户中配置Native Client应用程序
在运行示例应用程序之前,您需要允许它访问您的AAD租户以进行身份验证和授权以访问Billing API。如果您已经配置了要使用的Native Client应用程序(并且根据以下步骤进行配置),则可以跳转到步骤2。
要配置新的AAD应用程序:
使用已授予服务管理员/共同管理员访问权限的凭据登录Azure门户,该订阅信任您的AAD租户,并在AAD租户中授予全局管理员访问权限。看到 管理帐户,订阅和管理角色 有关管理服务管理员和共同管理员的详细信息。
选择您要使用的AAD租户,然后转到“应用程序”页面。
从那里,您可以使用“添加”功能“添加我的组织正在开发的新应用程序”。
为新应用程序提供名称(即:ConsoleApp-Billing-RateCard或类似名称)。
确保选择“Native Client Application”类型,然后为“Redirect URI”指定有效的URL(可以是 HTTP://本地主机/ 为了本示例的目的),然后单击复选标记进行保存。
添加新应用程序后,在应用程序列表中再次选择它,然后单击“配置”,这样您就可以确保示例应用程序有权访问Windows Azure服务管理API,这是用于保护应用程序的权限。结算API。
向下滚动到新创建的应用程序配置页面的“其他应用程序的权限”部分。然后单击“添加应用程序”按钮,选择“Windows Azure服务管理”行,并单击复选标记进行保存。保存后,将“委派权限”区域悬停在“Windows Azure服务管理”行的右侧,单击“委派权限”下拉列表,选择“访问Azure服务管理(预览)”选项,然后单击“再次保存。
的 注意 强> :默认情况下启用“Windows Azure Active Directory”权限“启用登录和读取用户的配置文件”。它允许用户使用其组织帐户登录应用程序,使应用程序能够读取已登录用户的配置文件,例如他们的电子邮件地址和联系信息。这是授权许可,并允许用户在继续之前获得同意。请参阅 添加,更新和删除应用程序 有关配置Azure AD租户以使应用程序能够访问您的租户的更多深度。
正如您将在下面的步骤#3中使用这些。您还需要Azure订阅ID和AAD租户域名,您可以从管理门户的“设置”页面复制这两个域名。
的 注意 强> : - 如果要使用grant_type =“Client_credential”并使用客户端ID和client_secret,请确保您在订阅中至少具有admin / co admin角色,并且您的应用程序具有上述足够的权限。