2014-02-14 4 views
1

빙하지도 API의 한 지점을 기반으로 국가와 지역을 얻으려면 tring입니다. 평가판 공개 웹 키를 만들었고 사용했습니다 .... 하지만 다음 응답이 표시됩니다. **빙지도에서 승인되지 않은 응답

"저작권 © 2014 Microsoft 및 공급 업체. 모든 권리.이 API에 액세스 할 수 없습니다 예약 및 내용과 결과가 Microsoft에서 서면 승인없이 어떠한 방식으로 사용, 복제 또는 전송 될 수 없습니다 법인."

** 크롬 브라우저에서 URL을 입력하면 올바른 응답을 얻을 수 있지만 디버그에서는 메시지가 표시됩니다. 내 주요 방법

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

이 내 URL 생성 기능

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; 
     } 

    } 

답변

0

을 인공 고관절의

. 하지만 같은 문제가 발생했습니다. 코드에서 찾은 것이 아니라 데이터에서 찾은 해결책이 있습니다. Bing Maps에 보내는 VirtualEarth URL과 결합 할 때 queryString이 유효한 URL인지 확인하십시오.

관련 문제