프로그래밍

[API] 인증 활용하기, OpenWeatherMap API

*%$@$#@ 2022. 10. 12.
728x90
반응형



안녕하세요. 오늘은 API의 인증(Authentication)에 대한 내용을 알아보도록 하겠습니다.

기본적으로 API를 제공하는 타인이 자신의 서버에 접속하여 데이터를 받아갈 수 있도록 허락한 상태이기 때문에 불특정 다수의 랜덤한 요청을 감당해야 하는 상황이 됩니다. 이러한 상황에서 서버의 부담을 줄이기 위해서 사용하는 방법이 인증입니다.

앞서 Endpoint(URL), Path, Parameter가 제공하는 데이터의 종류 및 범위를 한정하기 위해서 사용하는 것이었다면 인증(Authentication)은 사용자를 제한하기 위한 정책으로 보시면 됩니다.

인증을 통해서 특정 API의 접근가능한 인원을 제한할 수도 있으며, 혹은 시간 당 요청횟수를 제한하는 등의 행위를 할 수 있습니다. 그럼 인증에 대한 내용을 클라이언트 측에서 실습해 보도록 하겠습니다.

먼저 우리가 접속할 웹사이트는 OpenWeatherMap이라는 날씨정보 제공 사이트입니다.

https://openweathermap.org/api

Weather API - OpenWeatherMap

Please, sign up to use our fast and easy-to-work weather APIs. As a start to use OpenWeather products, we recommend our One Call API 3.0. For more functionality, please consider our products, which are included in professional collections.

openweathermap.org





먼저 홈페이지에 접속한 뒤 Sign in 버튼을 눌러 회원가입을 진행합니다. 인증을 위한 API 키를 받기 위한 절차로 별도의 과금이 청구되지는 않습니다.



[Create An Account] 링크를 클릭하여 회원가입을 진행한 뒤 로그인합니다.



로그인을 하면 위와 같은 화면을 확인할 수 있습니다. 상단의 메뉴에서 [API keys]를 클릭합니다.



사진과 같이 Default라는 이름으로 미리 설정된 API키를 확인할 수 있습니다. 만약 목록에 아무것도 없다면 오른쪽의
[Generate]키를 눌러서 새로운 API 키를 생성해줍니다.

화면에서 보이는 API key를 복사하여 메모장이나 별도의 파일이 붙여넣기 합니다. 나중에 API를 호출할 때 사용할 데이터입니다.



본격적으로 API를 사용해 보도록 하겠습니다. 화면 상단에 [API] 메뉴를 클릭합니다.



단순 날씨 정보만이 아니라 다양한 정보를 제공하고 있습니다. 그중에서 우리는 'Current Weather Data'라는 서비스를 이용해 보도록 하겠습니다.

API doc이라는 아이콘을 클릭합니다.



가장 먼저 보이는 코드는 위도, 경도 정보를 이용해서 날씨 정보를 확인하는 API입니다. 내용을 살펴보면 중괄호로 감싸진 내용이 보입니다. {lat}, {lon}, {API key}의 세 곳에 우리의 정보를 대신 입력하여 사용하는 구조가 됩니다.

서울의 날씨를 한번 알아보도록 하겠습니다. 서울의 위도, 경도는 대략적으로 36.5, 127.0 입니다.

앞서 복사한 API key 정보와 조합해보면 다음과 같은 API 주소를 작성할 수 있습니다.

https://api.openweathermap.org/data/2.5/weather?lat=36.5&lon=127.0&appid=d5adc8ce05e9e4cd506e8886305da11e

'appid=' 이후의 데이터는 여러분의 API key를 입력하여 사용하면 됩니다.

완성된 주소정보를 복사한 뒤 브라우저에서 새창을 열고 붙여넣기를 한 뒤 엔터를 누르면 화면에 다음과 같은 내용이 뜨는 것을 볼 수 있습니다.



결과에 보면 온도정도, 압력, 고도, 습도 및 날씨정보에 해당하는 다양한 정보가 출력되는 것을 확인할 수 있습니다. 해당 정보는 json 형식으로 나중에 프로그래밍을 통해서 필요한 정보만 추출하여 사용하게 됩니다.

만약 오류가 발생했다면 생성한 API key가 활성화되는데 시간이 걸려서 일 수 있습니다. 10분에서 15분정도 후에 다시 시도하면 대부분 해결되는 것을 확인할 수 있습니다.

오늘은 API 이용 중 인증에 대한 부분을 확인해 보았을데요. 대부분의 중요한 데이터는 인증을 통해서 사용량 제한이나 유료로 제공하는 경우가 많습니다. 따라서 인증에 대한 부분을 잘 숙지하여 API key 생성 및 사용 방법에 대해 익히고 있어야 겠습니다.













728x90
반응형

댓글