bing地图未经授权的回应

时间:2014-02-14 15:37:48

标签: c# rest bing-api

我想根据Bing maps API中的一个点来获取国家和地区,我创建了一个试用公共Web密钥并使用它.... 但它得到了以下回应 **

  

“版权所有©2014 Microsoft及其供应商。保留所有权利。未经Microsoft Corporation明确书面许可,不得访问此API,且不得以任何方式使用,复制或传播内容和任何结果。”

** 当我在我的Chrome浏览器中输入URL时,我得到了正确的响应......但是在调试中我收到了该消息。

这是我的主要方法

 try
            {
                Uri locationsRequest = CreateRequest(query,key);
                Response locationsResponse = MakeRequest(locationsRequest);
                ProcessResponse(locationsResponse);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.Read();
            }

我的网址创建功能

    public static Uri CreateRequest(string queryString, string BingMapsKey)
    {
        Uri UrlRequest = new Uri(string.Format("http://dev.virtualearth.net/REST/v1/Locations?q={0}&key={1}", queryString, BingMapsKey));
        return (UrlRequest);
    }

和我的ersponse功能

           public static Response MakeRequest(Uri requestUrl)
    {
        try
        {

            HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                if (response.StatusCode != HttpStatusCode.OK)
                    throw new Exception(String.Format(
                    "Server error (HTTP {0}: {1}).",
                    response.StatusCode,
                    response.StatusDescription));
                DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Response));
                object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
                Response jsonResponse
                = objResponse as Response;
                return jsonResponse;
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            return null;
        }

    }

1 个答案:

答案 0 :(得分:0)

我知道这有点晚了。但我遇到了同样的问题,我找到的解决方案不是代码,而是数据。与发送到Bing Maps的VirtualEarth URL结合使用时,请确保您的queryString是有效的URL。