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
- Google Cloud Console'a gidin.
- Yeni bir proje oluşturun veya mevcut bir projeyi seçin.
- Arama çubuğuna "Chrome Web Mağazası API'sı" yazın.
- Chrome Web Mağazası API'sını etkinleştirin.
OAuth izin ekranını yapılandırın
- OAuth izin ekranına gidin.
- External'ı (Harici) ve ardından Create'i (Oluştur) seçin.
- 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.
- Kapsamları atlayın: Kaydet'i, ardından Devam'ı tıklayın.
- 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
- Kimlik bilgileri'ne gidin.
- Kimlik Bilgileri Oluştur'u ve ardından OAuth istemci kimliği'ni tıklayın.
- Uygulama türü için Masaüstü Uygulaması'nı seçin.
- 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.
Kabul et'i tıklayın ve kodu kopyalayın. Şuna benzer bir görünümde olacaktır:
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:
- Geliştiricilerin, mevcut bir uzantıyı yayınlamak veya güncellemek için Google hesaplarında 2 Adımlı Doğrulama'yı etkinleştirmeleri gerekir.
- Yeni bir öğe yayınlamadan önce Geliştirici Kontrol Paneli'ndeki Mağaza Girişi ve Gizlilik uygulamaları sekmelerini doldurmanız gerekir.
- Yeni veya mevcut bir öğe yayınlandıktan sonra inceleme sürecinden geçer. Daha fazla bilgi için İnceleme Süreci bölümüne bakın.
- Güncelleme yayınlamak için manifest dosyasının sürüm alanındaki sayıyı artırın.
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