[google-api] 이 IP, 사이트 또는 모바일 애플리케이션은이 API 키를 사용할 권한이 없습니다.

https://maps.googleapis.com/maps/api/geocode/json을 사용하고 있습니까? 서버 키 및 사용자 IP와 연결하여 주소의 위도와 경도를 찾으려고 할 때 오류를 다음과 같이 찾습니다.

Google의 서버 액세스 키가 있고 서버의 IP 주소를 허용 목록에 넣었습니다.

PHP CURL을 통해 액세스하려는 URL은 다음과 같습니다.

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=XXXXXXXXXXXX

내가 얻는 결과 :

Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)

구성해야 할 것이 있습니까? 지오 코딩 API도 켜져 있습니다.



답변

나는 같은 문제가 있었고 이것을 발견했습니다.

URL에서 앱의 API 키가 아닌 서버 키가 필요합니다.

따라서 기본적으로 다음과 같이 URL 끝에 서버 키를 추가하면됩니다.

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY

이제 서버 키를 얻으려면 다음 단계를 따르십시오.

1) 개발자 콘솔 https://code.google.com/apis/console/로 이동합니다.

2) 자격 증명의 공용 API 액세스에서 새 키 만들기

3) 옵션에서 서버 키를 선택합니다.

4) 필드에 IP 주소를 입력하고 더 많은 IP 주소가있는 경우 모든 단일 행에 추가 할 수 있습니다. 참고 : 테스트 목적으로 사용하려는 경우에만 IP 주소를 입력하십시오. 그렇지 않으면 IP 주소 섹션을 비워 둡니다.

5) 완료되면 생성을 클릭하면 새 서버 키가 생성되고 해당 서버 키를 URL에 추가 할 수 있습니다.

마지막으로 URL 중간에 sensor = true를 넣는 대신 다음과 같이 끝에 추가 할 수 있습니다.

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true

이렇게하면 문제가 확실히 해결되고 .NET 용 서버 키를 사용해야합니다 Places API.

편집하다

웹 URL이 지난 몇 년 동안 변경되었다고 생각합니다. 지금 여기에서 개발자 콘솔에 액세스 할 수 있습니다-https: //console.developers.google.com/apis/dashboard

  • 개발자 콘솔 ( https://console.developers.google.com/) 로 이동하거나 세부 정보의 링크를 사용하여 API 대시 보드로 직접 이동합니다.
  • 개발자 콘솔 의 왼쪽 탐색 패널에서 라벨 을 찾습니다.
  • 프로젝트 선택
  • 왼쪽 탐색 패널에서 자격 증명 을 선택합니다.
  • 필요에 따라 상단 탐색 모음 에서 자격 증명 유형을 만들 수 있습니다 .

이 답변이 귀하와 다른 시청자에게 도움이되기를 바랍니다. 행운을 빕니다 .. 🙂


답변

  1. 키 선택
  2. API 제한 탭
  3. API 키 선택
  4. 저장
  5. 응용 프로그램 제한-> 없음을 선택합니다.
  6. 저장

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력


답변

사용자에게 할당 된 API 키 외에도 Google은 REFERRER또는 IP 주소를 확인하여 수신 요청의 소스를 확인합니다 . curl에서 예제를 실행하려면 Google API 콘솔Server Key 에서 새로 만듭니다 . 생성하는 동안 서버의 IP 주소를 제공해야합니다. 이 경우 로컬 IP 주소가 됩니다. IP 주소를 만들고 허용 목록에 추가 했으면 curl에서 새 API 키를 사용할 수 있습니다.Server Key

내 생각 엔 아마 당신은 당신 Browser Key의 IP 주소를 화이트리스트에 올릴 필요가 없지만 대신 REFERRER유효성 검사를 위해 HTTP 헤더 태그를 사용하는 API 키를 만들었을 것입니다 . curl은 기본적으로이 태그를 보내지 않으므로 Google에서 요청을 확인하지 못했습니다.


답변

Google Places API는 현재 Google API 콘솔에서 생성 된 Android 또는 iOS 키를 지원하지 않습니다. 현재 서버 및 브라우저 키만 지원됩니다.


답변

이 작업을 허용하지 않는 방식으로 제한 한 API 키를 사용하려고합니다.

Google에 따르면 :

Note: If you need to call web, web service, and/or mobile APIs from the same (client-side) app, create and restrict multiple keys.

따라서 올바른 방법은 또 다른 API 키를 만들고이 문제에 대한 올바른 제한을 선택하는 것입니다. 귀하의 경우에는 “애플리케이션 제한”에서 “IP 주소”를 선택하고 “항목 추가”를 사용하여 서버 IP를 추가하십시오. 빈 목록을 남겨두면 작동하지 않으며 Google이 귀하의 제한을 “없음”으로 변경합니다.

또한 “API 제한”(귀하의 경우 “Geocoding API”)에서 관련 API를 추가하는 것을 잊지 마십시오.

마지막으로 Google은 앱을 Google Cloud Billing 계정에 연결할 때까지이 API의 사용을 차단합니다. 따라서 아직 수행하지 않은 경우 성공적으로 응답을 받으면 먼저 수행해야한다는 메시지가 표시됩니다 (무료 시작 패키지가 있습니다).


답변

리퍼러없이 키를 생성하고 리퍼러 주소를 입력하지 마십시오


답변

Google Place API를 사용하려면 API를 호출 할 때 포함되어야하는 리퍼러 HTTP 헤더가 필요합니다.

HTTP 헤더 ‘Referer : yourdomain.com’을 포함하면 응답 문제가 해결됩니다.