7. 외부 기능 가져오기
오마이앱은 외부 기능 및 데이터와 API 연동이 가능해요. API 사용으로 서비스를 빠르게 확장시켜 보세요.
API란?
Application Programming Interface의 줄임말로, 프로그램들이 서로 상호 작용하는 것을 도와주는 매개체예요. 따라서, API를 사용해 외부에 있는 프로그램과 상호 작용하여 원하는 기능을 구현할 수 있고, 외부의 데이터 정보를 가져와 사용할 수 있어요.
API 사용으로 가장 많이 구현하는 기능들은, 이미 오마이앱 패키지로 준비되어 있어요. ex. 단건 결제, 지도 위치 목록, 그룹 영상 채팅 등의 패키지가 있어요. 각 패키지 설명을 참고해 API 키를 발급받고, 기능을 구현해 보세요.
API 사용으로 가지고 올 수 있는 외부 데이터는 다양해요. 원하는 외부 데이터 정보의 API 키를 발급받아, 오마이앱 로직 설정을 통해 가져올 수 있어요.
데이터 정보 API 연동 법
관리자 웹 ➡︎ 로직 설정 ➡︎ '+' 버튼을 클릭하여 새로운 로직을 생성해 주세요.
If When ➡︎ Data is created 를 입력, Then ➡︎ API to DB를 입력해 주세요.
아래의 빈 칸 작성 시, API 별로 정보를 제공하는 형식이 다르기 때문에 사용할 API에 맞게 입력해 주세요.
요청 URL : API 키 발급 시, 제공해 주는 정보예요. end point 라고도 불러요.
요청 URL 작성 법 : 요청 URL + 상세 기능 정보가 있는 api 목록 주소 + ? + serviceKey= + 서비스 키 (일반인증 키) 입력해 주세요.
예시) https://apis.data.go.kr/1471000/DURIrdntInfoService03/getUsjntTabooInfoList02?serviceKey=uhnjRSZAz2C5rUeWT00SyB9CqE%2Brd34skT7KbUGUeepeFiG71CcMZYu6IGnmjcV19xBGzcVEkT48LyINTuKRQA%3D%3D
요청 파라미터 : 데이터 정보 중, 내가 필요한 정보만 가져올 수 있는 필터예요.
필수 값이 아니므로, 비워둬도 작동해요.
요청 파라미터 작성 법 : 필요한 정보를 입력해요. 주로 모든 정보를 불러오기 때문에 type을 입력해 주면 돼요.
예시) “type”:“json” 또는 “type”:“xml”
*일부 정보만 필요하다면, API 키를 발급받은 사이트에서 필요한 정보를 가져와 작성해 주세요.
요청 헤더 : API 요청 시 필요한 숨은 정보를 담아서 같이 가져와주는 역할이에요. 예를 들어, 인증 정보(token)등이에요.
공공 API 사용시에는 작성하지 않아도 되는 경우가 대부분이에요.
필수 값이 아니므로, 비워둬도 작동해요.
HTTP 메서드 타입 : API를 호출하는 방법이에요. 'GET'과 'POST'가 있는데, 대부분 'GET'을 사용해요. 이는 API 발급 시, 상세 기능정보에서 제공돼요.
타임 아웃 : API 응답 대기 시간을 제한하는 역할이에요. 응답 대기 시간이 너무 길 경우, 앱 작동에 문제를 일으킬 수 있어요. 시간은 초 단위로 설정해요.
필수 값이 아니므로, 비워도도 작동해요.
데이터를 저장할 위치 : API 응답 데이터를 저장할 위치예요. 주로 로직 작성 시, 데이터가 처리되는 곳 “ _을(를)”에 입력한 메타와 같은 메타로 입력하지만, 원하는 메타를 입력할 수도 있어요.
응답에서 가져올 데이터 위치 : API 응답 데이터 안에서 가져올 배열 데이터의 위치예요. 저장할 데이터의 구조를 확인하고, 가져올 배열 데이터를 점 표기법을 통해 입력해 주세요.
데이터 구조 확인 및 점 표기법 예시
위의 이미지에서 데이터 배열 위치를 점 표기법으로 입력 : response.body.items.item
데이터 검색 : 기존 데이터가 있을 시 업데이트 할 데이터를 찾는 검색 조건이에요. 세부 처리 조건에서 @query의 rawFind 와 같은 역할을 해요.
필수 값이 아니므로, 비워도도 작동해요.
저장할 데이터 정보 : 어떤 항목 ID로, 어떤 데이터 항목을 저장할 것인지 설정하는 역할이에요.
저장할 데이터 위치 작성법 : 내가 저장하고 싶은 항목의 “항목 ID”:“item. 가져올 데이터 항목 ID”
예시)“korMedi”:“item.INGR_KOR_NAME”
2024.03.19 Jinny
Last updated