Gunakan Chrome Web Store Publish API

Ringkasan

Chrome Web Store Publish API menyediakan sekumpulan endpoint REST untuk membuat, mengupdate, dan memublikasikan item secara terprogram di Chrome Web Store.

Penyiapan awal

Sebelum dapat mulai melakukan panggilan REST terhadap Chrome Web Store, Anda harus mengaktifkan Chrome Web Store API, mengonfigurasi layar izin OAuth, dan mengambil kunci akses API. Bagian berikut akan memandu proses ini.

Aktifkan Chrome Web Store API

  1. Buka Google Cloud Console.
  2. Buat project baru atau pilih project yang sudah ada. Buat proyek baru 
di Konsol Google
  3. Di kotak penelusuran, ketik “Chrome Web Store API”.
  4. Aktifkan Chrome Web Store API.

Mengonfigurasi layar izin OAuth

  1. Buka OAuth consent screen.
  2. Pilih External, lalu Create. Membuat layar izin Oauth
  3. Lengkapi kolom Informasi aplikasi yang wajib diisi (tercantum di bawah), lalu klik Simpan dan Lanjutkan.
    • Nama aplikasi.
    • Email Dukungan Pengguna.
    • Email kontak developer.
  4. Lewati Cakupan. klik Save, lalu Continue.
  5. Tambahkan alamat email ke Pengguna pengujian, lalu klik Simpan, lalu Lanjutkan.

Mendapatkan kunci akses

  1. Buka Credentials.
  2. Klik Create Credentials, lalu OAuth client ID. Buat kredensial
  3. Untuk Application type, pilih Desktop App.
  4. Isi namanya, lalu klik Buat.

Konsol akan memberikan client ID dan rahasia klien.

Menguji aplikasi OAuth Anda

Anda dapat mengambil token akses untuk menggunakan API. Misalnya, masukkan URL ini di browser, dengan mengganti $CLIENT_ID dengan URL untuk aplikasi Anda:

https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/chromewebstore&client_id=$CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob

Anda akan melihat halaman yang meminta Anda menyetujui izin untuk cakupan yang diminta.

UI permintaan
izin

Klik Terima, lalu salin kode. TODO tersebut akan terlihat seperti berikut:

UI untuk menyalin kode

Gunakan nilai ini untuk meminta token akses. Misalnya, dengan menggunakan curl, Anda bisa mendapatkan token akses dengan menjalankan perintah berikut (menggantikan nilai $CLIENT_ID, $CLIENT_SECRET, dan $CODE dengan nilai di atas):

> curl "https://accounts.google.com/o/oauth2/token" -d \
"client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&code=$CODE&grant_type=authorization_code&redirect_uri=urn:ietf:wg:oauth:2.0:oob"

Ini akan menampilkan hasil seperti:

{
  "access_token" : "ya29...",
  "expires_in" : 3600,
  "refresh_token" : "1/rwn...",
  "scope": "https://www.googleapis.com/auth/chromewebstore",
  "token_type" : "Bearer",
}

Sekarang Anda dapat menggunakan access_token untuk memanggil API. Anda juga dapat menggunakan token refresh untuk mendapatkan token akses di masa mendatang. Perhatikan bahwa token tidak akan berlaku lagi setelah satu jam.

Menggunakan API

Setelah Anda memiliki token akses, ekstensi Anda dapat menggunakan Chrome Web Store Publish API. Terdapat endpoint untuk membuat item baru, memperbarui item yang ada, dan memublikasikan item.

Berikut adalah daftar pertimbangan untuk menggunakan Publish API:

  • Developer harus mengaktifkan Verifikasi 2 Langkah untuk Akun Google mereka agar dapat memublikasikan atau mengupdate ekstensi yang ada.
  • Sebelum dapat memublikasikan item baru, Anda harus mengisi tab Listingan Play Store dan Praktik privasi di Dasbor Developer.
  • Setelah memublikasikan item baru atau yang sudah ada, item tersebut akan menjalani proses peninjauan. Lihat Proses Peninjauan untuk mempelajari lebih lanjut.
  • Untuk merilis update, tingkatkan angka di kolom version manifes.

Pelajari lebih lanjut Chrome Web Store Publish API di sini.

Mengupload paket untuk membuat item toko baru

Endpoint: https://www.googleapis.com/upload/chromewebstore/v1.1/items
Type: POST
Header Parameters: 
  $TOKEN: the access token
Body content: the package file to upload

Ketik contoh berikut pada command line:

> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X POST \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items

Mengupload paket untuk memperbarui item toko yang sudah ada

Endpoint: https://www.googleapis.com/upload/chromewebstore/v1.1/items/$ITEM_ID
Type: PUT
Header Parameters: 
  $TOKEN: the access token
Body content: the package file to upload

$ITEM_ID adalah ID item Web Store yang sudah ada.

> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X PUT \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items/$ITEM_ID

Memublikasikan item ke publik

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish
Type: POST
Header Parameters: 
  $TOKEN: the access token
> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-X POST \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish

Memublikasikan item ke penguji tepercaya

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish?publishTarget=trustedTesters
Type: POST
Header Parameters: 
  $TOKEN: the access token
> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-X POST \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish?publishTarget=trustedTesters

Memeriksa status upload item

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID?projection=DRAFT
Type: GET
Header Parameters: 
  $TOKEN: the access token
curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-H "Expect:" \
-X GET \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID?projection=DRAFT