7. 외부 기능 가져오기

오마이앱은 외부 기능 및 데이터와 API 연동이 가능해요. API 사용으로 서비스를 빠르게 확장시켜 보세요.

  • API란?

Application Programming Interface의 줄임말로, 프로그램들이 서로 상호 작용하는 것을 도와주는 매개체예요. 따라서, API를 사용해 외부에 있는 프로그램과 상호 작용하여 원하는 기능을 구현할 수 있고, 외부의 데이터 정보를 가져와 사용할 수 있어요.

API 사용으로 가장 많이 구현하는 기능들은, 이미 오마이앱 패키지로 준비되어 있어요. ex. 단건 결제, 지도 위치 목록, 그룹 영상 채팅 등의 패키지가 있어요. 각 패키지 설명을 참고해 API 키를 발급받고, 기능을 구현해 보세요.

API 사용으로 가지고 올 수 있는 외부 데이터는 다양해요. 원하는 외부 데이터 정보의 API 키를 발급받아, 오마이앱 로직 설정을 통해 가져올 수 있어요.

  • 데이터 정보 API 연동 법

  1. 관리자 웹 ➡︎ 로직 설정 ➡︎ '+' 버튼을 클릭하여 새로운 로직을 생성해 주세요.

  2. If When ➡︎ Data is created 를 입력, Then ➡︎ API to DB를 입력해 주세요.

데이터가 처리 되는 곳을 등록 하면 API to DB 한다.
  1. 아래의 빈 칸 작성 시, API 별로 정보를 제공하는 형식이 다르기 때문에 사용할 API에 맞게 입력해 주세요.

  1. 요청 URL : API 키 발급 시, 제공해 주는 정보예요. end point 라고도 불러요.

  • 요청 URL 작성 법 : 요청 URL + 상세 기능 정보가 있는 api 목록 주소 + ? + serviceKey= + 서비스 키 (일반인증 키) 입력해 주세요.

  • 예시) https://apis.data.go.kr/1471000/DURIrdntInfoService03/getUsjntTabooInfoList02?serviceKey=uhnjRSZAz2C5rUeWT00SyB9CqE%2Brd34skT7KbUGUeepeFiG71CcMZYu6IGnmjcV19xBGzcVEkT48LyINTuKRQA%3D%3D

  1. 요청 파라미터 : 데이터 정보 중, 내가 필요한 정보만 가져올 수 있는 필터예요.

  • 필수 값이 아니므로, 비워둬도 작동해요.

  • 요청 파라미터 작성 법 : 필요한 정보를 입력해요. 주로 모든 정보를 불러오기 때문에 type을 입력해 주면 돼요.

  • 예시) “type”:“json” 또는 “type”:“xml”

*일부 정보만 필요하다면, API 키를 발급받은 사이트에서 필요한 정보를 가져와 작성해 주세요.

  1. 요청 헤더 : API 요청 시 필요한 숨은 정보를 담아서 같이 가져와주는 역할이에요. 예를 들어, 인증 정보(token)등이에요.

  • 공공 API 사용시에는 작성하지 않아도 되는 경우가 대부분이에요.

  • 필수 값이 아니므로, 비워둬도 작동해요.

  1. HTTP 메서드 타입 : API를 호출하는 방법이에요. 'GET'과 'POST'가 있는데, 대부분 'GET'을 사용해요. 이는 API 발급 시, 상세 기능정보에서 제공돼요.

  2. 타임 아웃 : API 응답 대기 시간을 제한하는 역할이에요. 응답 대기 시간이 너무 길 경우, 앱 작동에 문제를 일으킬 수 있어요. 시간은 초 단위로 설정해요.

  • 필수 값이 아니므로, 비워도도 작동해요.

  1. 데이터를 저장할 위치 : API 응답 데이터를 저장할 위치예요. 주로 로직 작성 시, 데이터가 처리되는 곳 “ _을(를)”에 입력한 메타와 같은 메타로 입력하지만, 원하는 메타를 입력할 수도 있어요.

  2. 응답에서 가져올 데이터 위치 : API 응답 데이터 안에서 가져올 배열 데이터의 위치예요. 저장할 데이터의 구조를 확인하고, 가져올 배열 데이터를 점 표기법을 통해 입력해 주세요.

  • 데이터 구조 확인 및 점 표기법 예시

위의 이미지에서 데이터 배열 위치를 점 표기법으로 입력 : response.body.items.item

  1. 데이터 검색 : 기존 데이터가 있을 시 업데이트 할 데이터를 찾는 검색 조건이에요. 세부 처리 조건에서 @query의 rawFind 와 같은 역할을 해요.

  • 필수 값이 아니므로, 비워도도 작동해요.

  1. 저장할 데이터 정보 : 어떤 항목 ID로, 어떤 데이터 항목을 저장할 것인지 설정하는 역할이에요.

  • 저장할 데이터 위치 작성법 : 내가 저장하고 싶은 항목의 “항목 ID”:“item. 가져올 데이터 항목 ID”

  • 예시)“korMedi”:“item.INGR_KOR_NAME”

오픈 API 사용 예시 바로가기

2024.03.19 Jinny

Last updated