IP, situs, atau aplikasi seluler ini tidak diizinkan untuk menggunakan kunci API ini

101

Saya menggunakan https://maps.googleapis.com/maps/api/geocode/json ? tautkan dengan kunci server dan IP pengguna untuk menemukan lintang dan bujur alamat apa pun, ketika saya mencoba, saya menemukan kesalahan sebagai

Saya memiliki kunci akses server dari google dan saya telah memasukkan alamat IP server saya dalam daftar putih mereka.

URL yang saya coba akses melalui PHP CURL adalah:

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

Hasil yang saya dapatkan:

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

Apakah ada yang perlu saya konfigurasikan. Geocoding API juga diaktifkan.

pengguna3336944
sumber
Anda harus mendapatkan kunci resmi dari google, dan memasukkannya ke dalam api
Dimag Kharab
Sudah ada kunci API yang tersedia
sanket
Periksa jawaban dari Mike itu berhasil untuk saya
Sheraz Ahmad Khilji
Terima jawaban mike20132013! Berhasil!
aveschini
Ada dokumen resmi untuk masalah ini: chromium.org/Home/chromium-security/…
Gopal00005

Jawaban:

150

Saya memiliki masalah yang sama dan saya menemukan ini.

Di url, ini membutuhkan kunci server pada akhirnya dan bukan kunci api untuk aplikasi.

Jadi pada dasarnya, Anda cukup menambahkan kunci server di akhir URL seperti ini:

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

Sekarang, untuk mendapatkan kunci server, cukup ikuti langkah-langkah berikut:

1) Buka Konsol Pengembang https://code.google.com/apis/console/

2) Di Kredensial, di bawah Akses API Publik, Buat kunci baru

3) Pilih kunci server dari opsi.

4) Masukkan Alamat IP Anda di lapangan dan jika Anda memiliki lebih banyak alamat ip, Anda bisa menambahkan di setiap baris. CATATAN: Masukkan Alamat IP hanya jika Anda ingin menggunakannya untuk tujuan pengujian Anda. Lain biarkan bagian Alamat IP kosong.

5) Setelah Anda selesai, klik buat dan Kunci Server baru Anda akan dibuat dan Anda kemudian dapat menambahkan kunci server itu ke URL Anda.

Hal terakhir adalah, alih-alih meletakkan sensor = true di tengah URL, Anda dapat menambahkannya pada akhirnya seperti ini:

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

Ini pasti akan menyelesaikan masalah dan ingatlah untuk menggunakan kunci server untuk Places API.

EDIT

Saya yakin URL web telah berubah dalam beberapa tahun terakhir. Anda dapat mengakses konsol pengembang dari sini sekarang - https://console.developers.google.com/apis/dashboard

  • Navigasikan ke konsol pengembang - https://console.developers.google.com/ atau gunakan tautan dari detail untuk menavigasi langsung ke dasbor API.
  • Di bawah konsol pengembang, temukan Label dari panel navigasi kiri
  • Pilih proyek
  • Pilih Kredensial dari panel Navigasi kiri
  • Anda dapat membuat jenis kredensial dari bilah navigasi atas sesuai kebutuhan.

Semoga jawaban ini akan membantu Anda dan pemirsa lainnya. Semoga berhasil .. :)

mike20132013
sumber
8
Sangat Penting 4) Masukkan Alamat IP Anda di lapangan dan jika Anda memiliki lebih banyak alamat ip, Anda dapat menambahkan di setiap baris. CATATAN: Masukkan Alamat IP hanya jika Anda ingin menggunakannya untuk tujuan pengujian Anda. Lain biarkan bagian Alamat IP kosong.
Sheraz Ahmad Khilji
6
Itu benar .. hanya tentukan Alamat / Alamat IP untuk tujuan pengujian. Lain, biarkan kosong. Karena Anda membatasi aplikasi atau kunci api agar hanya berfungsi pada perangkat / aplikasi tertentu.
mike20132013
1
@johnshumon Ya saya rasa .. belum memperbarui jawaban selama berabad-abad. Mungkin ada beberapa perubahan API baru.
mike20132013
1
Mungkin ingin juga memastikan Google Places API Web Service adalah API yang diaktifkan juga
Justin Wilson
1
Bergumul dengan ini selama berjam-jam sebelum menemukan bahwa "proyek" baru sekarang harus ditautkan ke akun penagihan cloud Google agar Google API berhenti memberikan berbagai kesalahan umum ini. Ambang dapat disetel ke $ 0 jadi Anda tidak akan pernah dikenakan biaya jika penggunaan melebihi kuota yang diizinkan.
Sparky
15
  1. Pilih kunci
  2. Tab Pembatasan API
  3. Pilih kunci API
  4. Menyimpan
  5. Pilih Pembatasan Aplikasi -> Tidak Ada
  6. Menyimpan

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Tuan Nguyen
sumber
saya memiliki beberapa layanan yang terdaftar dalam pembatasan api tetapi tidak geocoding
Muhammad Umer
bekerja seperti pesona. Terima kasih mencoba melakukan geocoding. Saya menetapkan batasan aplikasi ke tidak ada seperti yang Anda tunjukkan dan itu berhasil.
Ravi
4
Batasan: tidak ada yang cukup berbahaya.
Deniss M.
9
Menonaktifkan keamanan bukanlah solusi!
Bartholomej
JANGAN TINGGALKAN KUNCI API TANPA BATAS! "Proyek" baru sekarang harus ditautkan ke akun penagihan agar Google API berhenti memberikan berbagai kesalahan umum ini. Ambang dapat disetel ke $ 0 jadi Anda tidak akan pernah dikenakan biaya jika penggunaan melebihi kuota yang diizinkan.
Sparky
14

Selain kunci API yang ditetapkan untuk Anda, Google juga memverifikasi sumber permintaan masuk dengan melihat REFERRERalamat IP atau. Untuk menjalankan contoh di curl, buat yang baru Server Keydi konsol Google API . Saat membuatnya, Anda harus memberikan alamat IP server. Dalam hal ini, ini akan menjadi alamat IP lokal Anda . Setelah Anda membuat Server Keydan memasukkan alamat IP Anda ke daftar putih, Anda seharusnya dapat menggunakan kunci API baru di curl.

Dugaan saya adalah Anda mungkin membuat kunci API Anda sebagai Browser Keyyang tidak mengharuskan Anda untuk memasukkan alamat IP Anda ke daftar putih, melainkan menggunakan REFERRERtag header HTTP untuk validasi. curl tidak mengirim tag ini secara default, jadi Google gagal memvalidasi permintaan Anda.

Michael Venable
sumber
1+ Akan perlu membuat kunci API server untuk menggunakan layanan Geocode Google. Juga perlu mengaktifkan layanan geocodding peta Google dari konsol API Google .. Terima kasih !!
Sumit Munot
Bergumul dengan ini selama berjam-jam sebelum menemukan bahwa "proyek" baru sekarang harus ditautkan ke akun penagihan cloud Google agar Google API berhenti memberikan berbagai kesalahan umum ini. Ambang dapat disetel ke $ 0 jadi Anda tidak akan pernah dikenakan biaya jika penggunaan melebihi kuota yang diizinkan.
Sparky
6

Google Places API saat ini tidak mendukung kunci Android atau iOS yang dibuat dari Konsol Google API. Hanya kunci Server dan Browser yang saat ini didukung.

Nazrul Islam
sumber
1
Menarik ... jadi bagaimana cara membuat kunci untuk digunakan di aplikasi Android atau iOS?
Graham Perks
Kunci Browser Anda akan berfungsi di Android dan iOS. Dapatkan kunci Browser di Konsol Google API
Nazrul Islam
Mereka tidak melakukannya tanpa usaha ekstra. Saya baru tahu ini setelah hari yang membuat frustrasi kemarin; ada langkah tambahan untuk aplikasi: stackoverflow.com/a/58136437/434004
Graham Perks
3

Anda mencoba menggunakan KUNCI API yang Anda batasi dengan cara yang tidak mengizinkan tindakan ini.

Menurut 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.

Jadi hal yang benar untuk dilakukan adalah membuat KEY API lain, dan memilih batasan yang benar untuk masalah ini. Dalam kasus Anda, pilih "Alamat IP" (di bawah "Pembatasan aplikasi"), dan gunakan "TAMBAHKAN ITEM" untuk menambahkan ip server Anda. Perhatikan bahwa membiarkan daftar kosong tidak akan berfungsi, dan akan mengakibatkan Google mengubah batasan Anda menjadi "Tidak Ada".

Selain itu, jangan lupa untuk menambahkan API yang relevan di bawah "Batasan API" (dalam kasus Anda "API Geocoding").

Satu hal terakhir - Google memblokir penggunaan API ini sampai Anda menautkan aplikasi Anda ke Akun Penagihan Google Cloud. Jadi jika Anda belum melakukannya, setelah Anda berhasil mendapatkan respons, ia akan mengatakan Anda harus melakukannya terlebih dahulu (ini memiliki paket awal gratis).

brkeyal
sumber
2

Anda membuat kunci tanpa referer jangan masukkan alamat referer

DeadlyDroid
sumber
bisakah Anda menjelaskan lebih lanjut
Sagar Devanga
2
Saat Membuat kunci yang Anda miliki sebagai tempat untuk menambahkan Alamat Perujuk, Periksa apakah Anda telah Menambahkan sesuatu di sana. jika Ditambahkan Hapus itu
DeadlyDroid
2

Google Place API memerlukan header HTTP perujuk untuk disertakan saat melakukan panggilan API.

Sertakan header HTTP "Referer: yourdomain.com" dan ini akan memperbaiki masalah respon.

Ramesh
sumber
1
Meskipun ini mungkin menjawab pertanyaan, selalu merupakan ide yang baik untuk memasukkan beberapa teks dalam jawaban Anda untuk menjelaskan apa yang Anda lakukan. Bacalah cara menulis jawaban yang bagus . Juga, Anda harus memasukkan beberapa kode.
Jørgen R
Bisakah Anda memberikan cuplikan
Sagar Devanga
Inilah yang saya lakukan, dan berhasil dengan sempurna: var options = {url: url, headers: {Referer: ' xxx.herokuapp.com '}}; request.get (opsi, fungsi (...
Florida G.
1

Juga API yang sesuai harus diaktifkan untuk proyek yang diberikan

https://console.developers.google.com/apis/library?project=projectnamedi sini

dav
sumber
1

Untuk versi terbaru dari API, hal yang sebaliknya berlaku bagi saya.

Saat memanggil url https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>saya mendapatkan kesalahan berikut

Anda harus menggunakan kunci API untuk mengautentikasi setiap permintaan ke Google Maps Platform API. Untuk informasi tambahan, silakan merujuk ke http://g.co/dev/maps-no-account

Setelah saya mengganti urutannya, https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address>itu berfungsi dengan baik.

Perhatikan bahwa pesan kesalahan yang diterima di atas adalah pesan yang saya dapatkan saat membuka langsung ke URL di browser. Ketika saya memanggil API dari program perangkat lunak, saya menerima respons HTML pada dasarnya dengan pesan berikut:

Kami minta maaf ... tetapi komputer atau jaringan Anda mungkin mengirimkan pertanyaan otomatis. Untuk melindungi pengguna kami, kami tidak dapat memproses permintaan Anda sekarang.

kilkfoe
sumber
Bergumul dengan ini selama berjam-jam sebelum menemukan bahwa "proyek" baru sekarang harus ditautkan ke akun penagihan cloud Google agar Google API berhenti memberikan berbagai kesalahan umum ini. Ambang dapat disetel ke $ 0 jadi Anda tidak akan pernah dikenakan biaya jika penggunaan melebihi kuota yang diizinkan.
Sparky
0

Untuk aplikasi iOS atau Android, kuncinya memerlukan hak istimewa ekstra yang diberikan.

Buka Konsol Google -> API dan Layanan -> Perpustakaan. Ketuk perpustakaan Tempat untuk platform Anda, lalu ketuk Aktifkan.

Lihat https://developers.google.com/maps/gmp-get-started#enable-api-sdk

Graham Perks
sumber
0

Otentikasi, kuota, harga, dan kebijakan Otentikasi Untuk menggunakan API Arah, Anda harus terlebih dahulu mengaktifkan API dan mendapatkan kredensial otentikasi yang tepat. Untuk informasi lebih lanjut, lihat Memulai Google Maps Platform.

Kuota dan harga Tinjau halaman penggunaan dan penagihan untuk detail tentang kuota dan harga yang ditetapkan untuk API Arah.

Kebijakan Penggunaan Directions API harus sesuai dengan kebijakan API.

lebih tahu: kunjungi: --- https://developers.google.com/maps/documentation/directions/start?hl=id_ID

Sudipta Ghosh
sumber
-2
  url = https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving&key=AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY

tambahkan hanya di AppDelegate suka

            GMSServices.provideAPIKey("AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY")

dan hapus kunci di url ini.

sekarang url

https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving
Abubakar Bizimana
sumber
-3

Nonaktifkan kedua api arah dan api geocoding dan aktifkan kembali.

ini hanya bekerja selama 5-10 detik dan kemudian secara otomatis menonaktifkan dirinya sendiri.

itu berarti Anda hanya memiliki waktu 5-10 detik untuk menguji tugas Anda.

Ѕћӗһ Ӡӓԃѧ
sumber