Google Chart에서 제공하던 QR 코드 생성기능을 아주 잘 이용하고 있었다.
2017/06/12 - [PROGRAM/JAVA / JSP] - Google Chart API 이용하여 QR코드 생성하기
물론.. 그 때도 서비스 지원은 중단되었지만 기존 그대로도 잘 호출되고 있어서 문제가 없었으나
오늘 오전부터 갑자기 API 호출 시 gateway 502 error가 발생하면서 QR코드 이미지가 생성되지 않는 문제가 발생했다.
아니나 다를까 API 페이지에 접근해보니 아래와 같은 안내가 있었다....^_ㅜ
This API is deprecated and is scheduled to be turned off on March 14, 2019.
Please user the actively maintained Google Charts API instead.
아... 님은 갔습니다. 2019년 3월 14일에 갔습니다.
API를 가져다쓰면서 문제없이 잘 호출되는 경우 해당 페이지에 가서 서비스 여부를 확인하지 않기 때문에 서비스 종료일정을 몰랐던게 문제가 되었다. 심지어 구글에서 제공했으니 앞으로도 계속 쓸 수 있게는 해주겠거니 하고 생각한게 문제였을까.
여튼 배포된 서비스에서 문제가 발생했으니 빨리 수정해서 올려야 하는 관계로 다양한 QR코드 생성방식을 찾아보게 되었는데 jquery를 통해 생성하는 방식, 안드로이드나 java se 등에서 QR을 생성할 수 있는 zxing 라이브러리 그리고 google api처럼 URL 호출을 통해 QR코드를 생성해주는 방식이 있다.
오늘은 간만에 포스팅할 내역이 있어서 신나지만 시간관계상 google chart api를 대체할 대상에 대해서만 정리해보도록 하자.
(향후에 zxing이나 jquery 방식의 QR코드 생성으로 변경할 예정이니 먼 미래에 포스팅 내역으로 킵)
~ QR코드 생성방식 ~
Google Chart API 대체
새롭게 개발할 필요도 없고 기존에 호출하던 API URL만 변경해주면 되는 방식이다.
급하지 않고 google chart api를 사용하려다가 서비스가 중단되어 새로운 방식을 찾는 사람들이라면 xzing이나 jquery로 QR코드 생성하는 방식이 구글링하면 여러 포스팅에서 다루고 있으니 그 쪽으로 찾아보는게 좋을 듯 하다.
기존 Google Chart API를 사용했을 때
이런 형태로 API를 호출했더라면 이제 아래와 같이 변경하면된다.
QR코드 사이즈와 전달인자는 모두 동일하게 맞춰서 변경하였다.
항목 |
기존 방식 |
변경된 방식 |
비고 |
API URL |
https://chart.googleapis.com/chart |
https://api.qrserver.com/v1/create-qr-code |
|
Param 1) |
cht=qr |
별도의 인자값 없음 |
Google chart API는 |
Param 2) |
chs=250x250 |
size=250x250 |
|
Param 3) |
chl=원하는 내용 |
data=원하는 내용 |
QR코드를 찍으면 |
* QR Code API 참고 : http://goqr.me/api/
위의 API 호출결과로 나오는 QR코드는 아래와 같으며 결과 텍스트는
name=당신이원하는텍스트;date=2019-03-19;post=now; 로 data 전달인자에 입력했던 내용이 나오게 된다.
스마트폰 앱의 옵티컬 리더 등으로 찍어보면 직접 확인할 수 있다.
아침부터 엄청나게 식겁했지만.. 그래도 큰 문제 없이 해결했으니 오늘도 감사한 하루!
API 서비스 중단으로 정신 없으셨을 모든 사람들에게 도움이 되었기를 바래봅니다.
'PROGRAM > JAVA / JSP' 카테고리의 다른 글
for 반복문 중첩 빠져나오기 - break label (0) | 2020.04.13 |
---|---|
Maven project 제대로 사용하기 : pom.xml (0) | 2019.05.23 |
String에서 PDF로 변환하기 / STRING (or XSTRING) TO PDF (0) | 2018.12.14 |
lombok @Data not working / getter setter 인식 불가 해결 (2) | 2018.12.03 |
Spring 배치, 스케쥴러 사용하기 : Quartz, @Scheduled (0) | 2018.10.30 |