Mengakses Admin API

Sebelum pengguna atau aplikasi dapat menggunakan App Engine Admin API, Anda sebagai pemilik project Google Cloud harus terlebih dahulu mengaktifkan API di project Anda, lalu membuat kredensial yang dapat digunakan oleh pengguna atau aplikasi untuk mengizinkan permintaan HTTP.

Misalnya, pemilik harus membuat project Google Cloud awal terlebih dahulu, lalu membuat kredensial dalam project tersebut sebelum siapa pun dapat mengirim permintaan HTTP ke Admin API. Setelah pemilik menyiapkan dan mengonfigurasi project awal, project tersebut kemudian dapat digunakan untuk tujuan administratif guna membuat dan mengelola resource lain secara terprogram, misalnya:

  • Membuat project Google Cloud lainnya.
  • Membuat aplikasi App Engine untuk semua project yang baru dibuat.
  • Men-deploy versi aplikasi ke aplikasi App Engine yang baru dibuat.
  • Mengelola resource di semua versi yang Anda deploy.

Sebelum memulai

Untuk menyelesaikan tugas berikut, Anda harus menjadi pemilik project Google Cloud tempat Anda ingin mengaktifkan Admin API untuk diakses pengguna dan aplikasi.

Mengonfigurasi project Anda dan membuat kredensial

Untuk mengonfigurasi project Google Cloud dan membuat kredensial:

  1. Aktifkan App Engine Admin API dan Cloud Storage API di project Google Cloud Anda:

    Mengaktifkan kedua API

  2. Buat kredensial yang digunakan pengguna dan aplikasi untuk mengakses Admin API di project Anda.

    Untuk membuat kredensial, tinjau Panduan Auth Google Cloud Platform, lalu pilih alur otorisasi OAuth 2.0 yang memenuhi persyaratan aplikasi Anda.

Contoh

Untuk mendemonstrasikan alur autentikasi, contoh di bawah ini menggunakan alur OAuth 2.0 sisi klien untuk mendapatkan token. Token ini digunakan untuk mengizinkan permintaan ke Admin API menggunakan alat command line cURL untuk men-deploy contoh aplikasi ke aplikasi App Engine dari project [MY_PROJECT_ID].

Contoh autentikasi

Dalam contoh ini, alur otorisasi sisi klien yang dikenal sebagai alur pemberian implisit, mengharuskan pengguna mengizinkan aplikasi klien untuk mengakses Admin API atas nama pengguna. Token akses yang ditampilkan berlaku sekitar 60 menit atau umumnya saat pengguna aktif di aplikasi Anda.

Permintaan HTTP

URL berikut menggunakan client ID yang dibuat di Konsol Google Cloud untuk meminta token akses, lalu mengalihkan pengguna ke URI yang diotorisasi tempat aplikasi Anda menerima token:

https://accounts.google.com/o/oauth2/v2/auth?
  response_type=token&
  client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
  scope=https://www.googleapis.com/auth/cloud-platform&
  redirect_uri=[MY_REDIRECT_URI]

Dengan keterangan:

  • [MY_CLIENT_ID] adalah Client ID dari salah satu kredensial Anda di Konsol Google Cloud.
  • [MY_REDIRECT_URI] adalah URI pengalihan yang diotorisasi yang sesuai dari kredensial yang sama di Konsol Google Cloud. Jika URI pengalihan tidak ditentukan, Anda harus menentukan URI tepercaya, misalnya https://www.google.com. URI pengalihan menentukan ke mana respons HTTP akan dikirim. Untuk produksi, Anda harus menentukan endpoint auth aplikasi, yang menangani respons dari server OAuth 2.0. Untuk informasi selengkapnya, lihat Menggunakan OAuth 2.0 untuk Aplikasi Server Web.

Respons HTTP

Saat aplikasi menggunakan URL untuk meminta otorisasi, token akses akan ditampilkan dalam respons, misalnya:

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

Di mana [MY_ACCESS_TOKEN] adalah token akses yang ditampilkan yang Anda minta sebelumnya.

Setelah mendapatkan token akses, Anda dapat menggunakannya untuk mengakses Admin API. Misalnya, endpoint autentikasi aplikasi Anda dapat mengekstrak token akses secara terprogram dari respons. Lihat contoh berikut untuk mengetahui cara menggunakan token secara manual dalam perintah cURL.

Contoh permintaan HTTP menggunakan cURL

Perintah cURL berikut menunjukkan cara menggunakan token akses [MY_ACCESS_TOKEN] untuk membuat permintaan POST HTTP. Perintah cURL ini men-deploy resource yang ditentukan dalam file konfigurasi app.json ke versi v1 layanan default dalam penerapan project MY_PROJECT_ID.

curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions

Langkah selanjutnya