Cómo usar la API de publicación de Chrome Web Store

Descripción general

La API de Publish de Chrome Web Store proporciona un conjunto de extremos de REST para crear, actualizar y publicar elementos de manera programática en Chrome Web Store.

Configuración inicial

Para poder comenzar a realizar llamadas REST en Chrome Web Store, deberás habilitar la API de Chrome Web Store, configurar la pantalla de consentimiento de OAuth y recuperar tus claves de acceso a la API. En las siguientes secciones, se explica este proceso.

Habilitar la API de Chrome Web Store

  1. Ve a la consola de Google Cloud.
  2. Crea un proyecto nuevo o selecciona uno existente. Crea un proyecto nuevo en la consola de Google
  3. En la barra de búsqueda, escribe “API de Chrome Web Store”.
  4. Habilita la API de Chrome Web Store.

Cómo configurar la pantalla de consentimiento de OAuth

  1. Ve a la pantalla de consentimiento de OAuth.
  2. Seleccione External y, luego, Create. Crea una pantalla de consentimiento de OAuth
  3. Completa los campos obligatorios de Información de la app (enumerados a continuación) y haz clic en Guardar y continuar.
    • Nombre de la app
    • Correo electrónico de asistencia al usuario.
    • Correo electrónico de contacto del desarrollador
  4. Omite los permisos. Haz clic en Guardar y, luego, en Continuar.
  5. Agrega tu dirección de correo electrónico a la sección Usuarios de prueba, luego haz clic en Guardar y, luego, en Continuar.

Obtén las claves de acceso

  1. Ve a Credenciales.
  2. Haz clic en Crear credenciales y, luego, en ID de cliente de OAuth. Crea credenciales
  3. En Tipo de aplicación, elige Aplicación de escritorio.
  4. Completa el nombre y, luego, haz clic en Crear.

La consola proporcionará el ID y el secreto del cliente.

Cómo probar tu aplicación de OAuth

Puedes recuperar un token de acceso para trabajar con la API. Por ejemplo, ingresa esta URL en tu navegador y reemplaza $CLIENT_ID por el de tu app:

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

Verás una página en la que se te solicitará que aceptes permiso para el alcance solicitado.

IU de solicitud de permisos

Haz clic en Aceptar y copia el código. Debería ser similar a lo siguiente:

IU para copiar códigos

Utiliza este valor para solicitar un token de acceso. Por ejemplo, con curl, puedes obtener un token de acceso mediante la ejecución del siguiente comando (reemplaza los valores de $CLIENT_ID, $CLIENT_SECRET y $CODE por los valores anteriores):

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

Se mostrará un resultado como el siguiente:

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

Ahora puedes usar access_token para llamar a la API. También puedes usar el token de actualización para obtener tokens de acceso futuros. Ten en cuenta que los tokens vencen después de una hora.

Cómo usar la API

Una vez que tengas el token de acceso, la extensión podrá usar la API de Chrome Web Store Publish. Existen extremos para crear un elemento nuevo, actualizar uno existente y publicar uno.

A continuación, se muestra una lista de consideraciones para usar la API de Publish:

Obtén más información sobre la API de publicación de Chrome Web Store aquí.

Subir un paquete para crear un nuevo elemento de la tienda

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

Escribe el siguiente ejemplo en la línea de comandos:

> 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

Subir un paquete para actualizar un elemento de la tienda existente

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 es el ID del elemento de la Web Store existente.

> 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

Cómo publicar un elemento para el público

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

Publicación de un elemento para verificadores de confianza

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

Cómo comprobar el estado de carga de un elemento

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