Power Platform. QR Code 발급하여 참석자 등록 앱 만들기
이번에는 QR Code 발급 -> 방문자가 QR인증하는 앱을 Power Platform을 통해서 제작해보겠습니다.
제작 흐름은 다음과 같습니다.
1. Forms로 신청서 작성
2. Power Automate로 QR Code를 등록한 Email로 발급
3. Power Apps로 QR 을 인증
4. Power Automate로 Excel 파일에 출석여부 업데이트
Step 1. Forms로 신청서 작성
Forms -> 새 양식
다음과 같이 신청서 양식을 생성합니다.
응답 수집을 클릭합니다.
링크를 복사 한 뒤, 테스트 참석 신청 절차를 진행합니다.
제출
다음과 같이 생성된 것을 확인할 수 있습니다.
다음과 같이 표를 생성하여 참석자 명단 시트를 추가합니다.
#고유코드는 다른 QR과 중복생성을 막기 위해 임의의 값을 입력합니다.
뒤에서 QR Code 생성과정을 진행해보면, Power Automate에서 왜 해당 값이 필요한지 이해할 수 있을 것입니다.
#QRValue는 고유코드 + 이메일 주소입니다.
Step 2. QR 생성 및 발급
Power Automate -> 만들기
흐름 이름 입력 -> 새 응답이 제출되는 경우 선택 -> 만들기
양식 ID 지정 (이전에 생성된 Forms)
계정 연결이 안 되어 있다면, 추가합니다.
작업 추가
런타임: 표준 -> Forms 선택
응답 세부 정보 가져오기
양식 ID 지정 -> "/"를 입력하거나 아래의 표시된 버튼 클릭
응답 ID 선택
작업 추가
런타임: 기본 제공 -> Variable
변수 초기화
아래와 같이 입력 및 선택합니다.
작업 추가 -> 런타임: 기본 제공 -> HTTP
HTTP
URI는 다음과 같은 형태입니다.
https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=고유코드 + Email주소
아래와 같이 우선 입력한 뒤, 아래의 메뉴를 클릭합니다.
Email 응답 결과를 선택
아래와 같이 완성합니다.
QR Code 생성원리를 간단하게 설명드리자면, api.qrserver.com 에 접속하여 생성받는 형식입니다.
아래의 URI 뒤에 고유의 정보 값을 입력하면 생성되는 원리입니다.
https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=
예시
작업 추가 -> 런타임:기본 제공 -> Variable
변수 설정
QRCodeURL을 선택한 뒤, Value는 위와 동일한 방식으로 선택합니다.
작업 추가 -> 런타임:표준 -> Office 365 Outlook
메일 보내기
고급 모드로 전환
아래와 같이 내용을 입력한 뒤, 코드 보기를 클릭합니다.
<img src="[QRCodeURL변수]" alt="QR Code" />
가장 하단에 아래와 같은 형태로 이미지 코드를 추가합니다.
예시. 테스트 하면서 위치나 코드를 수정합니다.
하단의 고급 매개변수를 메뉴에서 BCC에 본인 메일 주소를 추가합니다. (정상 발송여부 체크용)
흐름을 저장 한 뒤, Forms 응답을 한번 더 진행합니다.
아래와 같이 메일이 발송됩니다.
Step 3. Power Apps로 QR Reader 생성
Power Apps -> 만들기 -> 빈 앱
빈 캔버스 앱 만들기
앱 이름 지정 -> 휴대폰 -> 만들기
앱 이름 지정 -> 휴대폰 -> 만들기
데이터 -> 데이터 추가
Excel Online
연결
Onedrive -> Onedrive -> Forms Excel 파일 지정
이전에 생성한 시트의 표 선택
연결
삽입 -> 바코드 판독기
아래와 같이 변경하였습니다.
QR 인식이 잘 되는지 테스트 하기 위해서 세로 갤러리 추가
레이아웃 제목 및 부제목
첫번째 항목 전체(Gallery 개체)를 선택 -> Items 속성을 변경하거나 상단의 속성에 qrScanner.Barcodes 를 입력합니다.
-> 이 수식은 바코드 결과 값을 갤러리에 표시해줍니다.
두번째 Subtitle에는 다음과 같이 수식을 입력합니다.
If(
!IsBlank(
LookUp(
표2,
QRValue = First(qrScanner.Barcodes).Value
)
),
"OK",
"Not Found"
)
-> 이 수식은 바코드 인식 결과가 Excel 상의 QRValue에 일치하는 행이 있으면 OK, 아니면 Not Found 결과를 표시합니다.
우측 상단의 게시를 클릭합니다.
Power Apps에서 게시된 앱을 실행합니다.
실행하면 아래와 같이 오류가 발생합니다. 아직 원인은 모르지만, 동작하는데 문제는 없었습니다.
QR Check시 아래와 같이 OK 처리되는 것을 확인할 수 있습니다.
Step 4. QR 인증시 Excel 파일에 참석 인원 업데이트
Power Automate
새 흐름 만들기
처음부터 만들기
입력 추가
텍스트
테이블에 있는 행 나열
아래와 같이 지정 -> Flow 이름 변경 -> 저장
바코드 판독기를 선택 -> 고급 -> OnScan
다음과 같이 입력하여 QR Scan시 생성한 흐름이 실행하고, 결과 값을 Flow에 연결할 수 있습니다.
PowerAppsQRFlow.Run(First(qrScanner.Barcodes).Value)
다시 생성한 흐름을 편집합니다.
조건 추가
QRCode와 QRValue가 일치하면 흐름이 실행되도록 구성합니다.
예인 경우 행 업데이트
아래와 같이 완성한 뒤, 저장합니다. Power Apps 게시
-> QRValue와 PowerApps에서 인식한 결과 값인 QR Code가 일치한 열에 O를 표시
QR인증시 다음과 같이 Excel 파일에 업데이트됩니다.
여기서 여러가지 디자인 요소나 텍스트를 수정하여 적절하게 활용합니다.