본문 바로가기
Python

19. 파이썬 API 연동하기

by To올라운더 2023. 7. 12.
반응형

0. API란?

 - API, IT쪽을 공부하거나 관심이 있다면 많이 들어본 단어일수도 있고, 많이 듣지 못했더라도 그리 낯설지 만은 않은 단어일 것이다. 그런데 누군가 API가 뭔지 물어보면 '컴퓨터끼리 데이터를 주고 받는거?' 라는 단순히 대답해 줄 수도 있지만(틀린 대답은 아니다), 컴퓨터끼리 데이터를 주고 받는건 당연하다고 생각하는 사람은 API가 뭐가 다른지에 대한 대답을 듣지 못했을 것이다.  이건 대답해준 사람도 중간 과정 없이 최종적인 결과만 알고 있기 때문이라고 생각한다.

 

 - 일단 API는 Application Programing Interface의 약자 인데, Interface가 무엇인지를 알고나면 생각보다 API 뿐만 아니라 전체적인 관련 용어들에 대해서도 연관지어 알 수 있다. 인터페이스(Interface)는 우리말로 번역하면 '접속기' 라는 의미로 2개의 다른 서비스나 이원화된 개념들을 연결시켜 주는 것을 말한다. 그래서 사용자(사람)와 컴퓨터간의 연결 고리를 만들어 주는 것을 UI(User Interface/ 사용자 인터페이스)라 부르며, 세부적으로 그래픽이 포함되었을 경우 GUI(Graphic User Interface),  입력창과 결과창 등이 문자로 이루어졌을 경우 CUI(Character User Interface)라고 한다. 당연히 사용자의 편리에 맞춰 구성된 방식인데, 컴퓨터와 컴퓨터간의 인터페이스에서도 이런 UI를 사용하는게 효율적일까? 아니다. 컴퓨터 간의 또는 프로그램 간의 서로 약속된 방법이 제시되는데 이것이 API 이다. (여기서 Application은 단일 프로그램이라고 생각해도 무관하다.) 

 

  - 당연히 이런 API는 개발 초기에 개발자에 의해 어떤 방식으로 이원화된 컴퓨터(서버 또는 프로그램)간 데이터를 주고 받을 것인지가 계획되는데, 이렇게 계획된 API는 다른 개발자(사용자)가 이용할 수 있도록 문서 혹은 표준 양식으로 배포한다. (그래서 API를 다루기 위해선 상대방이 작성한 문서 또는 예문을 숙지하는 과정이 1차적으로 필요하다.)

 

- 그럼 개발자는 도대체 왜? 굳이 API 제공할까? 여기에 대해선 여러 상황과 의견이 있겠지만, 가장 큰 이유는 데이터 제공자와 처리자 간의 원활한 정보 처리와 서버의 관리상 무리가 없는 최소한의 가이드라인을 제공한다고 볼 수 있다. API가 없을 때 무분별하게 서버로 자료를 요청하게 되면 이 또한 관리자에게는 피곤한 일이다. 생각해보자 회사에서 업무를 할 때, 다른 직원들에게 문의사항이 있을 때에는 '오전 9시부터 12시까지 휴가에 관한 문의만 메일로 문의주세요' 라는 회사 방침이 있다면 휴가와 관련된 문의 사항들은 정해진 시간에 나에게 요청이 오게 되고 오후에는 나의 업무에 집중할 수 있는 환경이 될 것 이다. 반면에 이런 지침이 없다면 누군가는 전화로 또 누군가는 문자로, 누군가는 직접 찾아와서 얘기하고 가기도 할텐데 이런 일이 하루 종일 어쩌면 퇴근 후에도 이루어질 수 있다. 컴퓨터 간에도 이런 피곤한 일을 어느정도 막기 위해서 서로 정해진 약속 즉, API가 필요하다.

 

그래서 오늘은 개발자라면 다른 개발자가 준비한 자료도 이용할 수 있는 방법인 API에 대해서 연습해볼 예정이다.

(파이썬 초급 수준만 배웠지만, 기본은 갖춘셈이다.)

 

그리고 이번 포스팅은 네이버 API를 예시로 진행하지만, 다른 API를 사용하고자 할 때에도 큰 맥락은 다르지 않다. 소소한 것들은 해당 개발자가 제공하는 API문서나 다른 사용자들의 글들을 참고하면 된다.

 

 

전체적인 과정은 아래와 같고 세부 내용은 다음 포스팅에서 시작하겠다.

 1) 원하는 API 서비스 찾기

      : 우리는 네이버의 파파고 번역을 해볼 예정이다.

 2) 해당 서비스 가입 및 결재

      : 네이버 개발자센터 가입이 진행 예정이며, 파파고 번역의 경우 1일 1만자 까지는 무료이다.

 3) 오픈 API 신청

      : ID 및 토큰 등 Key 값 발급

 4) 제안된 API 숙지 및 적용 

 5) 코드 작성 및 테스트 하기

 

총 5개의 단계로 진행될 예정이다.

 

 

1. 네이버 API 에서 번역 서비스 찾기(파파고 번역)

 - API는 용도에 따라 유료 또는 무료로 여러가지 자료들을 제공하는데, 네이버 API도 검색과 관련된 여러 자료들을 제공한다. (아래의 자료는 2023년 7월 11일 확인되는 네이버의 API 정책이다.)

 

 - 아래 표에서 확인 가능하듯이 검색은 하루에 25,000회 까지, 파파고번역은 1만자 까지 무료로 제공된다.(초과시 유료로 전환이 가능한지, 초과 자체가 불가한지는 모르겠으나, 오늘 포스팅은 API 사용 방법에 대한 내용이 주제인 만큼 금액 관련 자료는 추가로 찾지 않고 넘어가겠다.) 

 - 네이버를 비롯한 다른 플랫폼에서도 유료로 지원하는 서비스들이 별도로 있기 때문에 금액과 효과에 대한 가성비를 따져본다면 업무를 처리함에 있어 다양한 선택 옵션이 생길 수 있다. 

 

 - 네이버에서 지원하는 더 많은 API를 확인하고 싶다면 아래 사이트에서 확인가능하다.

https://www.ncloud.com/product

 

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com

 

이제 다음 포스팅 부터 API 연동에 대한 자세한 내용을 다뤄보겠다.

 

반응형