Google API의 사용을 위해 클라우드콘솔에서 관련 작업과 문서 작업까지 다 진행하고 호출 승인을 받았음에도 불구하고 ajax에서 API를 호출했는데 아래와 같은 CORS오류가 발생했습니다.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
관련 내용을 버그로 리포트까지 하고 응답이 오기 전까지 계속해서 혼자 문제를 짚어 봤습니다.
그리고 이와 같은 오류가 발생하는 이유를 찾아낼 수 있었습니다. 바로 "quota" 문제.
Quota 증설 요청을 하고 승인을 받은 상태였기에 처음에는 호출 용량 문제일 거라고 전혀 의심하지 않았습니다.
하지만, 클라우드콘솔에서 해당 API가 발생 시킨 잘못된 호출 로그를 확인했더니 용량을 초과한 호출에 관한 기록들이 가장 많았습니다.
즉, 구글 클라우드는 1일 API 호출 양을 넘어서면 관련한 내용을 오류로 응답하는 것이 아니라 아래와 같이 CORS 관련 헤더를 포함하지 않고 응답을 내려보냄으로써 호출을 막게 끔 되어 있었던 겁니다. (의도한 것일까요?)
덕분에 오류의 원인을 찾느라 한참 헤맸던 기억이... ㅠㅠ
말 그대로 "Access-Control-Allow-Origin : *" 와 같은 헤더 값을 응답하지 않음으로써 크로스 도메인 호출 오류를 발생 시켜 API를 더 이상 호출할 수 없도록 하고 있었습니다. >.<
혹, 관련해서 저처럼 이 같은 오류를 만난다면 더 이상 헤매는 분들이 없길 바랍니다.
이 게시물이 | |
AiRPAGE가 |