OAuth

Nota: En este documento, se describe el flujo de OAuth2 de tres segmentos que se usa para solicitar acceso a los datos de otras partes. Usa este flujo de autenticación si desarrollas una aplicación de terceros que necesita acceso a las cuentas de Merchant Center de tus clientes. Si estás desarrollando una aplicación interna que solo accederá a tu propia cuenta de Merchant Center, consulta la guía Cuentas de servicio.

Todas las solicitudes que envíe la aplicación a Google Content API for Shopping deben incluir un token de autorización. El token también identifica tu aplicación ante Google.

Acerca de los protocolos de autorización

Tu aplicación debe usar OAuth 2.0 para autorizar solicitudes. No se admiten otros protocolos de autorización. Si tu aplicación usa Acceder con Google, tú controlarás algunos aspectos de la autorización.

Solicitudes de autorización con OAuth 2.0

Todas las solicitudes a Google Content API for Shopping deben estar autorizadas por un usuario autenticado.

Los detalles del proceso de autorización, o "flujo", para OAuth 2.0 varían de alguna manera según el tipo de aplicación que estás escribiendo. El siguiente proceso general se aplica a todos los tipos de aplicación:

  1. Cuando crees tu aplicación, deberás registrarla con Google API Console. Luego, Google proporcionará la información que necesites más tarde, como el ID y un secreto del cliente.
  2. Active Google Content API for Shopping en la Consola de API de Google. Si no aparece en la consola de API, omite este paso.
  3. Cuando la aplicación necesite acceder a datos del usuario, solicita a Google un alcance de acceso en particular.
  4. Google mostrará una pantalla de consentimiento al usuario, en la que le pedirá que permita a la aplicación solicitar algunos de sus datos.
  5. Si el usuario la aprueba, Google le otorgará a la aplicación un token de acceso de corta duración.
  6. La aplicación solicitará los datos del usuario y adjuntará el token de acceso a la solicitud.
  7. Si Google determina que la solicitud y el token son válidos, mostrará los datos solicitados.

Algunos flujos requieren pasos adicionales, como el uso de tokens de actualización, para adquirir nuevos tokens de acceso. Si deseas obtener información detallada sobre los flujos para varios tipos de aplicaciones, consulta la documentación de OAuth 2.0 de Google.

Esta es la información sobre el alcance de OAuth 2.0 para Google Content API for Shopping:

Alcance Significado
https://www.googleapis.com/auth/content Acceso de lectura/escritura

Para solicitar acceso con OAuth 2.0, tu aplicación necesita los datos del alcance, además de la información que Google proporciona cuando registras la aplicación (como el ID y el secreto del cliente).

Sugerencia: Las bibliotecas cliente de las API de Google pueden controlar algunos de los procesos de autorización por ti. Están disponibles para una variedad de lenguajes de programación. Si quieres obtener más detalles, consulta la página que incluye bibliotecas y ejemplos.

Obtener permisos de OAuth

Recomendamos usar la autorización incremental para evitar problemas con la selección del alcance.

Los alcances de OAuth no están seleccionados de forma predeterminada en la pantalla de consentimiento de tu aplicación si solicitas más de uno. Cuando tu app presenta la pantalla de consentimiento a un usuario, este debe seleccionar manualmente cada alcance para autorizar el acceso.

Verifica la respuesta de una solicitud de OAuth para verificar que recibiste los permisos adecuados.

Consulta la página Políticas de OAuth 2.0 para obtener más detalles.

Solicitar verificación de app

Todas las apps que accedan a la Content API deben someterse al proceso de revisión de verificación de OAuth. Los usuarios de apps no verificadas que accedan a la API de contenido recibirán advertencias y las apps tendrán funciones limitadas. En este contexto, una aplicación se define como un ID de cliente de OAuth 2.0 único en Google Cloud.

El proceso de verificación suele tardar entre 3 y 5 días hábiles en completarse. Para obtener más información sobre el proceso y enviar una solicitud de verificación, consulta Verificación de apps.

Esta política se aplica a todas las apps, por lo que te recomendamos que todas mediante el proceso de verificación de Google OAuth lo antes posible para evitar interrupciones del negocio.

Ejemplo de autorización

En el siguiente código, se muestra cómo configurar el cliente y autorizar solicitudes mediante OAuth 2.0 para aplicaciones web. En la página Muestras y bibliotecas, encontrarás otros lenguajes disponibles.

PHP

En este ejemplo, se usa el flujo de aplicación web. El URI de redireccionamiento debe ser el URI de esta página de PHP.

<?php
require_once 'Google/Client.php';

session_start();

$client = new Google_Client();
$client->setApplicationName('Sample Content API application');
$client->setClientId('YOUR_CLIENT_ID');
$client->setClientSecret('YOUR_CLIENT_SECRET');
$client->setRedirectUri('YOUR_REDIRECT_URI');
$client->setScopes('https://www.googleapis.com/auth/content');

if (isset($_SESSION['oauth_access_token'])) {
  $client->setAccessToken($_SESSION['oauth_access_token']);
} elseif (isset($_GET['code'])) {
  $token = $client->authenticate($_GET['code']);
  $_SESSION['oauth_access_token'] = $token;
} else {
  header('Location: ' . $client->createAuthUrl());
  exit;
}

Ahora que te autenticaste, puedes crear un objeto Service para realizar solicitudes a la API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);