Tech. Forum 개발자들을 위한 정보 공유의 장입니다
닫기

Tech.Forum

보행자 경로 찾기 api 요청

#1

아두이노에서 WebClient로 api를 요청하려고 합니다. 아두이노 요청을 따로 지원하지 않는다고 하셨는데 웹클라이언트로 요청하면 상관없는 것 아닌가요?

client.println(“POST /tmap/routes/pedestrian HTTP/1.1”);
client.println(“Host: api2.sktelecom.com”);
client.println(“appKey: 1234-5678-9012-3456”);
client.println(“Accept-Language: ko”);
client.println(“Content-Type: application/x-www-form-urlencoded”);

client.println(“startX=126.92365493654832&startY=37.556770374096615&angle=1&endX=126.92432158129688&endY=37”);

이렇게 요청하려고 하는데 요청하면 Error code 400 bad request 가 나옵니다. 혹시 아두이노에서 접근해서 그런건가요?
아니면 내용이 틀렸기 때문인가요? 또 KML request 에서 Access_Token 는 무엇을 입력해야하나요 ?

0 Likes

#2

안녕하세요.
T map API 운영담당자 입니다.

문의주신 내용을 검토해본 결과 위의 bad request는 API 요청 형태가 잘못되어 발생한 error로 판단됩니다.

아래의 코드를 참고하여 Request Parameters 항목을 맞추시면 원하시는 정보를 얻으실 수 있습니다.


< GET >
https://api2.sktelecom.com/tmap/routes/pedestrian?appKey=발급받은appKey&startX=126.92365493654832&startY=37.556770374096615&endX=126.92432158129688&endY=37.55279861528311&reqCoordType=WGS84GEO&resCoordType=WGS84GEO&format=xml&startName=start&endName=end

< POST > URL url = new URL("https://api2.sktelecom.com/tmap/routes/pedestrian"); URLConnection connection = url.openConnection(); HttpURLConnection httpConn = (HttpURLConnection) connection;

httpConn.setRequestProperty(“Content-Type”, “application/json;charset=utf-8”);
httpConn.setRequestProperty(“appKey”, “발급받은appKey”);
httpConn.setRequestMethod(“POST”);

JSONObject jsonObject = new JSONObject();
jsonObject.put(“reqCoordType”, “WGS84GEO”);
jsonObject.put(“resCoordType”, “EPSG3857”);
jsonObject.put(“startName”, “start”); // 출발지 명칭
jsonObject.put(“startX”, 126.92365493654832); // 출발지 경도
jsonObject.put(“startY”, 37.556770374096615); // 출발지 위도
jsonObject.put(“endName”, “end”); // 도착지 명칭
jsonObject.put(“endX”, 126.92432158129688); // 도착지 경도
jsonObject.put(“endY”, 37.55279861528311); // 도착지 위도

OutputStream output = httpConn.getOutputStream();
output.write(jsonObject.toString().getBytes(“UTF-8”));
output.flush();

감사합니다.

1 Like