RPA/Power Automate Desktop

[Power Automate Desktop] REST API 사용하기

꼰대 2021. 6. 28. 15:02

PAD에서 API를 호출하여 가져온 데이터를 엑셀에 넣고 저장하는 플로어를 만들어 보겠습니다. 실무에서 별로 쓸일은 없겠지만 API 호출도 가능한 예제를 위한 것이니 참고 바랍니다.

전체 플로어는 Airtable에 저장된 과일정보를 API 호출하여 가져와 엑셀에 넣습니다.

먼저 Airtable의 데이터를 아래 그림과 같습니다. TB_FRUITS라는 테이블에 과일의 이름과 설명, 이미지, 별점 정보가 있습니다.

 

Airtable에 대한 간단한 내용은 아래 링크 참고하세요.

2021.05.24 - [Builders/Appgyver] - [Appgyver-과일정보] 1. Airtable 설정 및 REST API 확인

 

[Appgyver-과일정보] 1. Airtable 설정 및 REST API 확인

과일정보의 최종 완성 모습입니다. 페이지를 열면 미리 저장한 과일정보가 리스트로 출력됩니다. 리스트 페이지에서는 과일 이름과 평점을 별 아이콘으로 표시합니다. 과일 이름을 클릭하면 해

ggondae.tistory.com

 

Airtable 화면에서 우측 HELP > API documentation을 클릭하고 좌측 메뉴 테이블명 > List records를 클릭하여 GET에 대한 스키마를 살펴봅니다.

maxRecords 파라미터는 요청할 데이터 수에 대한 내용이므로 삭제하겠습니다. 또한 view 파라미터 값 부분에 %20은 space(공백)의 Encoding 값이므로 삭제하고 공백을 집어 넣습니다.

그리고 헤더값 부분의 YOUR_API_KEY 부분에는 Airtable에서 부여받은 개인별 API 키 값을 넣으면 됩니다.

응답값 스키마는 하나의 정보가 id, fields, createdTime로 되어 있고 fields 내 star, image, name, desc로 구성되어 있으며 이 부분이 실제로 사용할 데이터 부분입니다.

 

먼저 완료된 모습입니다.

 

그리고 완성된 전체 플로어입니다.

 

 

이제 PAD의 새 흐름을 생성하여 좌측 메뉴 웹 > 웹 서비스 호출을 끌어와 아래와 같이 입력합니다.

 

만약 특정 국가를 대상으로 하는 서비스라면 고급을 눌러 User-Agent (사용자 에이전트) 값을 변경할 수 있습니다.

 

현재 내 PC의 사용자 에이전트는 아래에서 확인 가능합니다.

http://m.avalon.co.kr/check.html

 

USER AGENT 확인

navigator.userAgent 값은 다음과 같습니다. $_SERVER['HTTP_USER_AGENT'] 값은 다음과 같습니다.

m.avalon.co.kr

 

이 상태에서 위 실행 버튼을 클릭한 후 우측 흐름 변수 > WebServiceResponse의 우측 보기를 클릭하면 응답 받은 값을 확인할 수 있습니다.

그런데 응답값이 단순 텍스트 형태이기 때문에 이를 가지고 데이터를 추출하여 사용하기에는 어렵습니다.

 

이를 위해 좌측 메뉴 변수 > JSON을 사용자 지정 개체로 변환을 끌어와 응답값을 넣고 저장합니다.

 

다시 실행을 클릭하고 우측 흐름 변수에서 JsonAsCustomObject 내용을 보면 key:value 형태로 바뀐 모습을 볼 수 있습니다. 또한 자세히를 누르면 JsonAsCustomObject['records']가 List 형태로 되어 있음을 알 수 있습니다.

이 값으로 반복문을 돌면서 엑셀에 쓰면 되겠습니다.

 

좌측 메뉴 Excel > Excel 시작을 끌어와 새로운 엑셀 문서를 생성합니다.

 

좌측 메뉴 변수 > 변수 설정을 끌어와 변수를 생성합니다. 이 변수는 문서 내 No값과 입력할 행 정보에 대한 변수이며 시작 값은 2입니다. 왜냐하면 1행은 타이틀 정보가 들어가서 2행부터 시작해야 합니다.

(사실 1로 초기값 잡고 뒤에서 +1 하면 되기 때문에 어떤값을 넣던 상관은 없습니다.)

 

이제 엑셀 내 타이틀 값을 먼저 집어 넣겠습니다. 좌측 Excel > Excel 워크시트에 쓰기를 끌어와 1행, 1열에 값은 데이터 테이블 형태로 넣고 저장합니다.

이전 글에서 보았듯이 아래와 같은 형태로 값을 쓰게 되면 각 항목값이 열마다 들어가게 됩니다.

 

이제 실제 데이터 부분을 넣겠습니다. 좌측 메뉴 반복 > 각각의 경우를 끌어와 JSON 변수에 'records' 키의 값을 반복합니다.

 

반복문을 돌며 저장된 하나의 변수에는 위 Airtable API 구조에서 살펴본 하나의 record 정보가 key:value 형태로 있으며 실제 데이터가 있는 fields를 보면 엑셀에 넣고자 하는 데이터가 있습니다.

 

그러면 위 구조를 참고하여 반복문을 돌며 데이터를 넣겠습니다. 우선 좌측 메뉴 Excel > Excel 위크시트에 쓰기를 끌어와 No에 해당하는 값을 넣어줍니다.

 

다음으로 동일하게 Excel 워크시트에 쓰기를 끌어와 위 변수값 구조와 동일하게 입력하고 저장합니다.

나머지 별점 및 설명 필드도 동일하게 저장합니다.

 

다음 좌측 메뉴 변수 > 변수 증가를 끌어와 반복문 내 index 변수를 1 증가시켜줍니다.

 

모두 종료되면 엑셀을 저장하고 닫습니다.

 

 

마지막으로 API의 스키마 구조는 서비스마다 다 다릅니다. 받고자 하는 데이터의 스키마 구조를 확인하여 반복문 및 key:value 값에 대해 조정해야 합니다.

반응형