Google Maps platform 에서는 구글지도를 기반으로한 다양한 API 기능들을 제공하고 있습니다. 위치기반 서비스의 경우 구글이나 네이버, 카카오 등의 지도 서비스를 가져와서 제공해야 하기 때문에 웹 개발의 경우 꼭 경험하게 될 API라고 볼 수 있습니다.
모든 코드가 에러 없이 잘 동작하면 좋겠지만, 인생의 모든 것이 자기 뜻대로 되지 않는 것처럼. 언젠가 다시 마주칠 수 있는 에러에 대해서 기억하기 위해 마주친 에러들을 기록으로 남겨봅니다. :)
{
error_message: 'API keys with referer restrictions cannot be used with this API.',
result : [],
status: 'REQUEST_DDDENIED'
}
구글 클라우드 플랫폼에서 새로운 프로젝트를 생성하고 원하는 api를 설정하면 api 키를 발급받을 수 있습니다. 이후 사용자 인증 정보 탭에서 API Key 탭에 있는 자신의 프로젝트에 들어간 다음, 애플리케이션 제한사항, API 제한사항을 선택하여 설정해 주시면 됩니다.
마주친 시점이 localhost에서 마주친거라 애플리케이션 제한사항은 별도로 설정하지 않았고 API 제한사항의 키 제한 부분을 선택한 뒤 사용하고 있는 API 3개를 선택해 주고 나니 에러가 해결되었습니다.
이미 배포중인 서비스에서 발생한다면 애플리케이션 제한사항의 HTTP 리퍼러(웹사이트) 부분에서 서비스중인 사이트의 주소를 포함하여 주시면 해결될것입니다.
해당 서비스에서 파이어베이스나 기타 다른 인증 서비스 등을 사용하고 있다면 마찬가지로 주소에 포함시켜주면 됩니다.
API Key 에러를 해결하고 나니 위와 같은 에러가 다시 발생했는데 원인은 에러메시지에 나와 있습니다. 구글 클라우드 플랫폼에 생성된 프로젝트에 api는 연결되어 있지만 결제 관련 사항이 연결되어 있지 않아서 발생하는 에러입니다.
에러메시지의 첫 번째 https://console... 링크를 따라 가시면 자신의 프로젝트 목록이 나와있는데, 사용하고자 하는 프로젝트를 클릭하시면 결제 관련 계정을 선택하거나 생성하라는 메뉴가 나옵니다.
기존의 결제 계정이 있으면 선택하여 주시면 되고, 없다면 신용카드로 신규 생성하시고 연결해 주면 해결됩니다.