이번 회사 프로젝트를 진행하면서 Google Map API를 잠깐 다루어 볼 상황이 발생했다.
일반 URL은 무던하게 작업이 되었지만 문제는 Google Shorten URL
이 문제였다.
일반적으로 Google 지도에서 서울역을 검색하고 URL 창을 복사하면 이렇게 긴 링크가 생성된다.
이 링크에서 위도 경도를 추출하기는 쉽다.
하지만 사용자가 공유 버튼으로 URL을 가져오게 되면 문제가 발생한다.
https://goo.gl/maps/Znr5oARRHF5jo5Ze7
여기서 어떻게 위도, 경도나 주소를 추적할 수 있지????
짧은 형식의 URL을 복사 붙여넣기 하면 자동으로 Redirection을 시켜준다.
근데...
이걸 아무리 공식 문서, 구글링을 해도 나오지 않는다는 것이었다.
고통 받고 있던 도중 다음과 Stack overflow에서 UrlFetchApp
을 사용하라는 것이었다.
무지성으로 vscode에서 UrlFetchApp을 사용하려고 했으나.. 계속 실패..
자세히 살펴보니 Google Scripts라고 설명하고 있었다.
Google Scripts? = Google apps script
Google이 제공하는 클라우드 기반 스크립팅 언어입니다. 이 스크립팅 언어를 사용하면 G Suite 앱인 Google Sheets, Google Docs, Google Forms, Google Slides 등과 같은 Google 애플리케이션을 자동화하고 확장할 수 있습니다.
Google Apps Script를 사용하면 사용자 정의 함수를 만들어 Google Sheets에서 사용할 수도 있으며, Google Forms를 사용하여 데이터를 수집하고 처리할 수도 있습니다. 또한, Gmail의 스팸 메일을 자동으로 처리하거나, Google Calendar를 조작하여 일정을 자동으로 추가하는 등의 작업도 가능합니다.
그렇다고 한다..
이것도 모르고 계속 vscode에서 사용하려고 했으니 안될 수 밖에..
Google apps script 접속 후, Start Scripting을 실행
새 프로젝트 실행
doGet
이라 함수를 명명한다.doPost
라 함수를 명명한다.e
를 사용한다. e.parameter("get의 파라미터 명")
나는 get으로 URL만 가져올 것이기 때문에 doGet
으로 코드를 간략하게 입력했다.
초기 프로젝트 화면
간략하게 코드 입력
이렇게 긴 URL 형식을 알아낼 수 있다. 왠만한 shorten URL들을 넣어봤는데 어지간해서는 Long URL로 변환할 수 있는 듯 하다.
이제 외부에서 사용할 수 있도록 스크립트를 배포하자.
모든 사용자
로 선택한다.해당 방식 말고 shorten URL에 대한 좋은 방법이 있으면 다시 공유할 생각이다.