如何从web应用程序使用Azure计费API?

如何从web应用程序使用Azure计费API?,azure,azure-management-api,Azure,Azure Management Api,如何从网站的服务器端创建服务帐户、授予必要的权限以及使用Azure计费API(使用率和费率卡) 我希望在内部仪表板上显示2018年6月7日的预期账单为123.45美元,反映Azure门户上账单使用情况图中的数据 并且是所有帖子参考的样本。每一个的设置都引用了旧版Azure门户,设置说明做出了我不理解的假设。我没有找到任何关于使用计费API的最新安装说明。在我的所有实验中,我都收到了OAuth令牌,但在调用实际API时,我收到了401个未经授权的响应。(显然,我不应该在这个问题中包含我的guid。

如何从网站的服务器端创建服务帐户、授予必要的权限以及使用Azure计费API(使用率和费率卡)

我希望在内部仪表板上显示
2018年6月7日的预期账单为123.45美元
,反映Azure门户上账单使用情况图中的数据

并且是所有帖子参考的样本。每一个的设置都引用了旧版Azure门户,设置说明做出了我不理解的假设。我没有找到任何关于使用计费API的最新安装说明。在我的所有实验中,我都收到了OAuth令牌,但在调用实际API时,我收到了
401个未经授权的
响应。(显然,我不应该在这个问题中包含我的guid。)

示例表明,在创建应用程序时,我必须选择一个“本机应用程序”,但Scott Allen认为“本机应用程序”需要一个实时OAuthed用户,但我的用户没有访问Azure门户的权限,因此我必须使用配置的设置预验证。他推荐“Web应用程序/API”

样本在所需权限方面不明确。他们注意到我应该“确保示例应用程序具有访问Windows Azure服务管理API的权限”,但在新门户中,我找不到Windows Azure服务管理API或任何听起来像计费管理的其他权限

在门户中创建AAD应用程序时,以及启动时,每个应用程序都会引用在不同位置命名不同的设置,如“客户端ID”和“目录ID”。虽然我对我的映射猜测很有信心,但这个示例对我来说并不适用,所以我相信我做得不对

我甚至尝试直接向
REST端点发出请求https://management.azure.com/subscriptions/{订阅Id}/providers/Microsoft.Commerce/UsageAggregates?api版本={api版本}&reportedStartTime={dateTimeOffset值}&reportedEndTime={dateTimeOffset值}&aggregationGranularity={granularity值}&showDetails={showtail boolean Value}&continuationToken={token Value}
传入OAuth令牌但未成功


我在这里做错了什么?如何配置AAD应用程序以使用使用预配置的身份验证和订阅设置的计费API在网页上显示Azure使用详细信息?

根据错误日志,您似乎没有为应用程序提供正确的订阅角色。您可以检查此问题

注意:你可以给你的应用
Owner
角色

你也检查一下这个


此外,您还可以创建一个web应用。但是您需要使用不同的方式获取令牌,请参见不同的检查方法。

我认为此链接将回答您的大多数问题:。关于401错误,您之所以获得它,是因为用户(或服务负责人)没有Azure订阅管理权限。正确配置服务主体后,不应出现此401错误。@robirch在执行服务器到服务器api调用时,将使用另一种方法,我假设您正在执行此操作。此外,请确保无论您使用web app还是本机app,你们都需要在订阅级别上赋予
所有者
(或其他)角色。嗨,你们做了这一步吗?我在实验室进行了测试,你们的项目对我来说很好。你们可以检查结果