2016-07-21 5 views
0

Google지도 geolocation api (https://developers.google.com/maps/documentation/geolocation/intro)를 C# (.net 4.6.1)으로 사용하려고합니다. 서버 키를 설정하고 API 관리자에서 Google지도 Geolocation API를 사용하도록 설정했습니다. 여기 내 코드 :Google geolocation api에서 403 오류가 발생했습니다. #

using (HttpClient client = new HttpClient()) 
{ 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
    var response = await client.PostAsJsonAsync("https://www.googleapis.com/geolocation/v1/geolocate", new { key = "keyvalue" }); 
    return await response.Content.ReadAsStringAsync(); 
} 

403 오류가 발생합니다. 여기에 전체 응답입니다 :

{ 
"error": { 
    "errors": [{ 
     "domain": "usageLimits", 
     "reason": "dailyLimitExceededUnreg", 
     "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.", 
     "extendedHelp": "https://code.google.com/apis/console" 
    }], 
    "code": 403, 
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup." 
} 

}

내가 키 값이 올바른지 그들이 알고 난 API를 사용하도록 설정 한 것을 알고있다. 나는 또한 일일 한도에 도달하지 못했다는 것을 알고있다. 왜냐하면 Google 콘솔은 내 사용을 하루 동안 제로로 나열하기 때문이다. 누구든지 내 코드에 문제가 있거나 다른 제안이 있습니까? 키를 잘못 보내야하지만 내 코드에서 오류의 위치를 ​​알 수 없습니다.

업데이트

올바른 코드는 다음과 같습니다 내가 JSON 객체로 키를 전달하는 대신 URL에 키를 넣고 있었어요

using (HttpClient client = new HttpClient()) 
{ 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
    var response = await client.PostAsJsonAsync("https://www.googleapis.com/geolocation/v1/geolocate?key=keyvalue", ""); 
    //Or client.PostAsync could be used this way: 
    //var response = await client.PostAsync("https://www.googleapis.com/geolocation/v1/geolocate?key=keyvalue", new StringContent("", Encoding.UTF8, "application/json")); 
    return await response.Content.ReadAsStringAsync(); 
} 

. 오류 응답이 인증되지 않은 사용을 초과하는 것을 알 수 있듯이

+0

에 대한 매개 변수로 키를 추가해야합니다입니다 귀하의 요청이 키를 제대로 전송되었는지? – antonio

+0

올바른 키가 있다고 확신하지만 키가 올바르게 전송되는지 확인하는 방법을 모르겠습니다. – joeshmoe301

답변

1

당신은 URL

https://www.googleapis.com/geolocation/v1/geolocate?key=keyValue 
관련 문제