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
- Ve a la consola de Google Cloud.
- Crea un proyecto nuevo o selecciona uno existente.
- En la barra de búsqueda, escribe “API de Chrome Web Store”.
- Habilita la API de Chrome Web Store.
Cómo configurar la pantalla de consentimiento de OAuth
- Ve a la pantalla de consentimiento de OAuth.
- Seleccione External y, luego, Create.
- 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
- Omite los permisos. Haz clic en Guardar y, luego, en Continuar.
- 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
- Ve a Credenciales.
- Haz clic en Crear credenciales y, luego, en ID de cliente de OAuth.
- En Tipo de aplicación, elige Aplicación de escritorio.
- 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.
Haz clic en Aceptar y copia el código. Debería ser similar a lo siguiente:
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:
- Los desarrolladores deben habilitar la verificación en 2 pasos en su Cuenta de Google para publicar o actualizar una extensión existente.
- Antes de publicar un elemento nuevo, debes completar las pestañas Ficha de Play Store y Prácticas de privacidad en el Panel del desarrollador.
- Después de publicar un elemento nuevo o existente, este se somete a un proceso de revisión. Consulta Proceso de revisión para obtener más información.
- Para lanzar una actualización, aumenta el número en el campo version del manifiesto.
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