0

우선 : Everythig이 현재 작업 중입니다. 나는 단지 개선을위한 당신의 의견을 원한다.Google API 키 사용 방법

다른 Google API에 액세스해야하는 Android 애플리케이션을 개발 중입니다. 그래서 API 키를 만들고 앱을 다시 만들었습니다. Google Maps API에 대한 인증을 위해 google_maps_api.xml의 API 키를 사용했습니다.

그런 다음 Google Directions API가 필요했습니다. 내가 아는 한 유일한 방법은 HTTP 요청을 통한 것입니다. HTTP 요청에는 API 키가 필요합니다. 이제 문제는 내 API 키가 앱으로 제한된다는 것입니다. 즉, HTTP 요청에는 작동하지 않습니다. 나는 두 번째 API 키를 만들고이 문제를 해결하기 위해 제한을 제거했습니다. 그러나 그것은 내 의견으로는 좋은 해결책이 아니다.

나는 대답이 없지만 같은 문제에 직면 해있는 2016에서 this SO Question을 발견했습니다.

답변

2

API 키는 특정 API에만 국한되지 않습니다. 단일 API 키를 사용하여 사용 가능한 모든 Google API에 액세스 할 수 있습니다. 따라서 새 키를 만들 때 이러한 제한된 옵션을 모두 볼 수 있습니다. 모든 API가 Android 및 IOS 제한을 지원하는 것은 아닙니다. 예 : Google지도에는 Android 및 IOS에서 사용할 수있는 라이브러리가 있습니다. 즉, 키를 생성하여 Android로 제한하고 Android 라이브러리에서 키를 지정하고 다른 키를 생성하고 IOS에만 해당 키를 제한하여 IOS에서 키를 지정할 수 있음을 의미합니다.

그러나, Google지도 거리 매트릭스Google지도 방향과 같은 API는 안드로이드와 IOS 제한을 지원하지 않습니다. 기본적으로이 두 API는 HTTP 요청과 함께 작동하기 때문입니다. 따라서 제한을 추가하려면 PHP 또는 Java를 사용하여 자체 서버를 만들고 서버에 API 키를 저장해야합니다. 클라이언트는 Google API를 가져 오기 위해 서버에 요청을 보냅니다. 키는 서버 IP로만 제한되므로 서버를 제외한 다른 누구도 Google API를 사용할 수 없습니다.

누군가가 내 키를 사용하여 프로젝트의 활성화 된 모든 API에 액세스 할 수 있기 때문에 키를 제한하는 것이 매우 중요합니다. 어떤 제한 방문이 페이지에 어떤 API 지원에 대한 자세한 내용은

는 : https://developers.google.com/maps/faq#restriction

+0

그래, 내가 너무 생각했던, basicly입니다. 나는 그저 일종의 대안이 있다는 것을 희망한다. 나는 지금 서버를 설치하고 싶지 않기 때문에. 하지만 고마워! – GAlexMES

+0

불행히도 해결 방법이 없습니다. 그러나 Google App Engine을 사용하면 서버를 만드는 것이 정말 쉽습니다. 하나의 PHP 파일과 두 줄만 시작할 수 있습니다. – DustyMan

+0

현재 Google App Engine을 사용하지 않습니다. 그것을 사용할 가치가 있습니까? – GAlexMES