none
获取Azure 计费信息失败 RRS feed

  • 问题

  • 根据官网Azure计费API(https://msdn.microsoft.com/zh-cn/library/azure/mt219004),获取到的是一串html代码

    <noscript>Redirect<meta http-equiv='Refresh' content='0; URL=https://login.live.com/jsDisabled.srf' /></noscript>

    <title>Continue</title>

            public ActionResult Index()
            {
                string token = GetAToken();
                string requestUri = "https://manage.windowsazure.cn/subscriptions/{subscription_id}/providers/Microsoft.Commerce/UsageAggregates?api-version=2015-06-01-preview&reportedStartTime=2015-01-01T00%3a00%3a00%2b00%3a00&reportedEndTime=2015-09-23T00%3a00%3a00%2b00%3a00&aggreagationGranularity=Daily&showDetails=true";
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
                request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);
                request.ContentType = "application/json";
    
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream responseStream = response.GetResponseStream();
                string content = string.Empty;
                using (StreamReader sr = new StreamReader(responseStream))
                {
                    content = sr.ReadToEnd();
                }
    
                return View(content);
            }
    
            public string GetAToken()
            {
                try
                {
                    AuthenticationContext authenticationContext = new AuthenticationContext("https://login.chinacloudapi.cn/{tenant_id}/oauth2/authorize");
                    var result = authenticationContext.AcquireToken("https://graph.chinacloudapi.cn/", "{application_id}", new Uri("{redirect_url}"));
                    if (result == null)
                    {
                        throw new InvalidOperationException("Failed to obtain the JWT token");
                    }
                    return result.AccessToken;
                }
                catch (Exception)
                {
                    //throw;
                    return null;
                }
            }



    • 已编辑 Rampb 2015年10月19日 6:32
    2015年9月28日 3:51

答案

  • 从返回的页面代码来看,应该是Token 无效。

    1. 请将您的app 在Azure Active Directory中注册,http://huzc1234 这个Uri不能随便乱填,要和AAD 注册信息一致。2. 如果实在不知道如何获取Token,请在VS 2015 创建一个空的ASP.NET 工程,然后在引用节点上点击鼠标右键->Add Connected Service 按照向导一步一步地设置,可以获得Token 代码。


    Would you know my name, if I saw you in heaven......

    2015年10月9日 0:38
    版主

全部回复

  • Hi,

    我觉得你的code中有两个需要注意的地方:

    1. 文档中的请求地址是:https://management.azure.cn 而不是https://manage.azure.cn

    2. 尝试Debug去看看token获取的过程中是否准确的按照这篇文章所述:https://msdn.microsoft.com/zh-cn/library/azure/dn790557

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.




    2015年9月28日 9:54
    版主
  • 从返回的页面代码来看,应该是Token 无效。

    1. 请将您的app 在Azure Active Directory中注册,http://huzc1234 这个Uri不能随便乱填,要和AAD 注册信息一致。2. 如果实在不知道如何获取Token,请在VS 2015 创建一个空的ASP.NET 工程,然后在引用节点上点击鼠标右键->Add Connected Service 按照向导一步一步地设置,可以获得Token 代码。


    Would you know my name, if I saw you in heaven......

    2015年10月9日 0:38
    版主
  • Thanks
    2015年10月13日 9:31
  • Thanks
    2015年10月13日 9:31
  • 你好,按照你说的请求地址改为了https://management.azure.cn

    但是报了了这个错

    我觉得,你给的请求地址是不是不对啊!!!

    2015年10月19日 5:56
  • 估计是笔误吧,你原来写的地址是正确的即http://manage.windowsazure.cn

    Would you know my name, if I saw you in heaven......

    2015年10月19日 12:20
    版主
  • 在Azure群中,有人说目前国内不还支持获取Azure计费信息。是这样的么?所以我才一直获取不到计费信息。
    2015年10月20日 3:15
  • Hi,

    Billing API是一个新功能,目前并不支持中国版的Azure。

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2015年10月27日 8:17
    版主