Chrome Web Mağazası Publish API'sini kullanma

Genel bakış

Chrome Web Store Publish API, Chrome Web Mağazası'ndaki öğeleri programatik olarak oluşturmak, güncellemek ve yayınlamak için bir dizi REST uç noktası sağlar.

İlk kurulum

Chrome Web Mağazası'na REST çağrıları yapmaya başlamadan önce Chrome Web Mağazası API'sini etkinleştirmeniz, OAuth izin ekranınızı yapılandırmanız ve API erişim anahtarlarınızı almanız gerekir. Aşağıdaki bölümlerde bu süreç açıklanmaktadır.

Chrome Web Mağazası API'sini etkinleştir

  1. Google Cloud Console'a gidin.
  2. Yeni bir proje oluşturun veya mevcut bir projeyi seçin. Google Console'da
yeni bir proje oluşturun
  3. Arama çubuğuna "Chrome Web Mağazası API'sı" yazın.
  4. Chrome Web Mağazası API'sını etkinleştirin.

OAuth izin ekranını yapılandırın

  1. OAuth izin ekranına gidin.
  2. External'ı (Harici) ve ardından Create'i (Oluştur) seçin. OAuth izin ekranı
oluşturma ve
  3. Uygulama bilgileri zorunlu alanlarını (aşağıda listelenmiştir) doldurun, ardından Kaydet ve Devam Et'i tıklayın.
    • Uygulama adı.
    • Kullanıcı Desteği e-posta adresi.
    • Geliştiricinin iletişim e-posta adresi.
  4. Kapsamları atlayın: Kaydet'i, ardından Devam'ı tıklayın.
  5. E-posta adresinizi Test kullanıcıları'na ekleyin, ardından Kaydet'i ve ardından Devam'ı tıklayın.

Erişim anahtarlarını alın

  1. Kimlik bilgileri'ne gidin.
  2. Kimlik Bilgileri Oluştur'u ve ardından OAuth istemci kimliği'ni tıklayın. Kimlik bilgileri oluştur
  3. Uygulama türü için Masaüstü Uygulaması'nı seçin.
  4. Adı girip Oluştur'u tıklayın.

Konsol, istemci kimliğini ve istemci gizli anahtarını sağlar.

OAuth uygulamanızı test etme

API ile çalışmak için erişim jetonu alabilirsiniz. Örneğin, $CLIENT_ID yerine uygulamanızın URL'sini yazarak tarayıcınıza şu URL'yi girin:

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

İstenen kapsam için izni kabul etmenizi isteyen bir sayfa görürsünüz.

İzin isteği
kullanıcı arayüzü

Kabul et'i tıklayın ve kodu kopyalayın. Şuna benzer bir görünümde olacaktır:

Kod kopyalama için kullanıcı arayüzü

Erişim jetonu istemek için bu değeri kullanın. Örneğin, curl kullanarak aşağıdaki komutu çalıştırarak bir erişim jetonu alabilirsiniz ($CLIENT_ID, $CLIENT_SECRET ve $CODE değerlerini yukarıdaki değerlerle değiştirin):

> 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"

Aşağıdakine benzer bir sonuç döndürülür:

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

Artık API'yi çağırmak için access_token öğesini kullanabilirsiniz. Yenileme jetonunu, gelecekteki erişim jetonlarını almak için de kullanabilirsiniz. Jetonların süresinin bir saat sonra sona ereceğini unutmayın.

API'yi kullanın

Erişim jetonunuz olduğunda uzantınız Chrome Web Mağazası Publish API'sini kullanabilir. Yeni öğe oluşturmak, mevcut bir öğeyi güncellemek ve öğe yayınlamak için uç noktalar vardır.

Aşağıda, Publish API'sini kullanırken dikkat edilmesi gereken noktaların bir listesi bulunmaktadır:

Chrome Web Mağazası Publish API'si hakkında daha fazla bilgiyi buradan edinebilirsiniz.

Yeni mağaza öğesi oluşturmak için paket yükleme

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

Komut satırına aşağıdaki örneği yazın:

> 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

Mevcut bir mağaza öğesini güncellemek için paket yükleme

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, mevcut Web Mağazası öğesinin kimliğidir.

> 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

Bir öğeyi herkese açık bir şekilde yayınlama

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

Bir öğeyi güvenilir test kullanıcılarına yayınlama

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

Bir öğenin yükleme durumunu kontrol etme

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