Jika Anda menetapkan persyaratan kunci API di API, permintaan ke metode, class, atau API yang dilindungi akan ditolak kecuali jika permintaan tersebut memiliki kunci yang dibuat di project Anda atau di project lain milik developer yang telah Anda beri akses untuk mengaktifkan API Anda. Project tempat kunci API dibuat tidak dicatat dan tidak ditambahkan ke header permintaan. Namun, Anda dapat melihat project Google Cloud yang terkait dengan klien di halaman Endpoints Services, seperti yang dijelaskan dalam Memfilter project konsumen tertentu.
Untuk mengetahui informasi tentang project tempat kunci API harus dibuat, lihat Membagikan API yang dilindungi oleh kunci API. Google Cloud
Membatasi akses ke semua metode API
Untuk mewajibkan kunci API untuk semua panggilan ke API, tambahkan
api_key_required=True
ke
decorator API.
Contoh:
@endpoints.api(name='echo', version='v1', api_key_required=True)
class EchoApi(remote.Service):
#...
Membatasi akses ke metode API tertentu
Untuk mewajibkan kunci API untuk semua panggilan ke metode API tertentu, tambahkan
api_key_required=True
ke
decorator metode API.
Contoh:
endpoints.method(
# This method takes an Echo message.
ECHO_RESOURCE,
# This method returns an Echo message.
EchoResponse,
path='echo',
http_method='POST',
name='echo_api_key',
api_key_required=True)
def echo_api_key(self, request):
output_content = '\n'.join([request.content] * request.n)
return EchoResponse(content=output_content)
Menghapus pembatasan kunci API untuk suatu metode
Untuk menonaktifkan validasi kunci API untuk API atau metode API, hapus
api_key_required=True
(Python) atau apiKeyRequired = AnnotationBoolean.TRUE
(Java) dari API atau anotasi atau dekorator metode Anda. Kemudian, kompilasi ulang dan
deploy ulang.
Memanggil API menggunakan kunci API
Jika API atau metode API memerlukan kunci API, berikan kunci menggunakan parameter kueri bernama key
, seperti yang ditunjukkan dalam contoh cURL ini:
curl \
-H "Content-Type: application/json" \
-X POST \
-d '{"message": "echo"}' \
"${HOST}/_ah/api/echo/v1/echo_api_key?key=${API_KEY}"
dengan HOST
dan API_KEY
adalah variabel yang masing-masing berisi nama host API dan kunci API Anda. Ganti echo
dengan nama API Anda, dan
v1
dengan versi API Anda.
Membagikan API yang dilindungi oleh kunci API
Kunci API dikaitkan dengan project Google Cloud tempat kunci tersebut dibuat. Jika Anda telah memutuskan untuk mewajibkan kunci API untuk API Anda, Google Cloud project tempat kunci API dibuat bergantung pada jawaban atas pertanyaan berikut:
- Apakah Anda perlu membedakan pemanggil API Anda sehingga Anda dapat menggunakan fitur Endpoints seperti kuota?
- Apakah semua pemanggil API Anda memiliki Google Cloud project sendiri?
- Apakah Anda perlu menyiapkan pembatasan kunci API yang berbeda?
Anda dapat menggunakan pohon keputusan berikut sebagai panduan untuk memutuskan project mana yang akan digunakan untuk membuat kunci API. Google Cloud

Memberi izin untuk mengaktifkan API
Jika Anda perlu membedakan pemanggil API Anda, dan setiap pemanggil memiliki project Google Cloud sendiri, Anda dapat memberikan izin kepada prinsipal untuk mengaktifkan API di project Google Cloud milik mereka sendiri. Dengan begitu, pengguna API Anda dapat membuat kunci API mereka sendiri untuk digunakan dengan API Anda.
Misalnya, tim Anda telah membuat API untuk penggunaan internal oleh berbagai program klien di perusahaan Anda, dan setiap program klien memiliki project Google Cloudsendiri. Untuk membedakan pemanggil API Anda, kunci API untuk setiap pemanggil harus dibuat di project Google Cloud yang berbeda. Anda dapat memberikan izin kepada rekan kerja untuk mengaktifkan API di project yang terkait dengan program klien. Google Cloud
Untuk mengizinkan pengguna membuat kunci API mereka sendiri:
- Di project Google Cloud tempat API Anda dikonfigurasi, berikan setiap pengguna izin untuk mengaktifkan API Anda.
- Hubungi pengguna, dan beri tahu mereka bahwa mereka dapat mengaktifkan API Anda di project mereka sendiri dan membuat kunci API. Google Cloud
Buat Google Cloud project terpisah untuk setiap pemanggil
Jika Anda perlu membedakan pemanggil API, dan tidak semua pemanggil memiliki project, Anda dapat membuat project dan kunci API terpisah untuk setiap pemanggil. Google Cloud Google Cloud Sebelum membuat project, pikirkan nama project agar Anda dapat dengan mudah mengidentifikasi pemanggil yang terkait dengan project.
Misalnya, Anda memiliki pelanggan eksternal API, dan Anda tidak tahu bagaimana program klien yang memanggil API Anda dibuat. Mungkin beberapa klien menggunakan layanan Google Cloud dan memiliki project, dan mungkin beberapa klien tidak. Google Cloud Untuk membedakan pemanggil, Anda harus membuat project dan kunci API Google Cloud terpisah untuk setiap pemanggil.
Untuk membuat project Google Cloud dan kunci API terpisah untuk setiap pemanggil:
- Buat project terpisah untuk setiap penelepon.
- Di setiap project, aktifkan API Anda dan buat kunci API.
- Berikan kunci API kepada setiap pemanggil.
Membuat kunci API untuk setiap pemanggil
Jika Anda tidak perlu membedakan pemanggil API, tetapi ingin menambahkan pembatasan kunci API, Anda dapat membuat kunci API terpisah untuk setiap pemanggil dalam project yang sama.
Untuk membuat kunci API bagi setiap pemanggil dalam project yang sama:
- Di project tempat API Anda dikonfigurasi, atau project tempat API Anda diaktifkan, buat kunci API untuk setiap pelanggan yang memiliki pembatasan kunci API yang Anda butuhkan.
- Berikan kunci API kepada setiap pemanggil.
Membuat satu kunci API untuk semua pemanggil
Jika Anda tidak perlu membedakan pemanggil API, dan Anda tidak perlu menambahkan batasan API, tetapi Anda tetap ingin mewajibkan kunci API (misalnya, untuk mencegah akses anonim), Anda dapat membuat satu kunci API untuk digunakan oleh semua pemanggil.
Untuk membuat satu kunci API untuk semua pemanggil:- Di project tempat API Anda dikonfigurasi, atau project tempat API Anda diaktifkan, buat kunci API untuk semua pemanggil yang memiliki pembatasan kunci API yang Anda butuhkan.
- Memberikan kunci API yang sama kepada setiap pemanggil.