OAuth

Observação:este documento descreve o fluxo de OAuth de três etapas usado para solicitar acesso aos dados de outras partes. Use esse fluxo de autenticação se você estiver desenvolvendo um aplicativo de terceiros que precisa de acesso às contas do Merchant Center dos seus clientes. Se você estiver desenvolvendo um aplicativo interno que acessará apenas sua própria conta do Merchant Center, consulte o guia Contas de serviço.

Todas as solicitações que seu aplicativo envia para a API Content for Shopping precisam incluir um token de autorização. O token também identifica o aplicativo para o Google.

Sobre os protocolos de autorização

O aplicativo deve obrigatoriamente usar o OAuth 2.0 para autorizar solicitações. Não há outros protocolos de autorização compatíveis. Se o aplicativo usa o Fazer login com o Google, alguns aspectos da autorização são administrados para você.

Autorizar solicitações com OAuth 2.0

Todas as solicitações à API Content for Shopping do Google precisam ser autorizadas por um usuário autenticado.

Os detalhes do processo de autorização ou “fluxo” para o OAuth 2.0 variam um pouco, dependendo do tipo de aplicativo que você está criando. O processo geral a seguir se aplica a todos os tipos de aplicativo:

  1. Ao criar seu aplicativo, registre-o usando o Console de APIs do Google. Em seguida, o Google fornece informações que serão necessárias mais tarde, como uma chave secreta e um ID do cliente.
  2. Ative a API Content for Shopping no Console de APIs do Google. Se ela não estiver no Console de APIs, pule essa etapa.
  3. Quando seu aplicativo precisar de acesso aos dados do usuário, ele solicitará ao Google um determinado escopo do acesso.
  4. O Google exibe uma tela de consentimento para o usuário, pedindo para que o aplicativo seja autorizado a solicitar alguns dos dados dele.
  5. Se o usuário aprovar, o Google fornecerá ao aplicativo um token de acesso de curta duração.
  6. O aplicativo solicita dados de usuário, anexando o token de acesso à solicitação.
  7. Se o Google determinar que a solicitação e o token são válidos, ele retornará os dados solicitados.

Alguns fluxos incluem etapas adicionais, como atualizar tokens para adquirir novos tokens de acesso. Para ver informações detalhadas sobre fluxos de vários tipos de aplicativos, consulte a documentação do OAuth 2.0 do Google.

Veja a informação de escopo do OAuth 2.0 para a Google Content API for Shopping:

Escopo Significado
https://www.googleapis.com/auth/content Acesso de leitura e gravação.

Para solicitar acesso usando o OAuth 2.0, seu aplicativo precisa de informações do escopo, bem como informações fornecidas pelo Google durante o registro do aplicativo, como o ID e a chave secreta do cliente.

Dica: as bibliotecas cliente de APIs do Google cuidam de parte do processo de autorização para você. Elas estão disponíveis para uma grande variedade de linguagens de programação. Verifique a página com bibliotecas e amostras para mais detalhes.

Acessar escopos do OAuth

Recomendamos o uso da autorização incremental para evitar problemas com a seleção de escopo.

Por padrão, os escopos do OAuth serão desmarcados na tela de consentimento do app se você solicitar mais de um. Quando seu app apresenta a tela de consentimento a um usuário, ele precisa selecionar cada escopo manualmente para autorizar o acesso.

Confira a resposta de uma solicitação OAuth para confirmar se você recebeu os escopos apropriados.

Consulte a página Políticas do OAuth 2.0 para mais detalhes.

Solicitar verificação de apps

Os apps que acessam a API Content precisam passar pelo processo de análise de verificação OAuth. Os usuários de apps não verificados que acessam a API Content receberão avisos, e os apps terão funcionalidade limitada. Um app, neste contexto, é definido como um ID do cliente OAuth 2.0 exclusivo no Google Cloud.

O processo de verificação geralmente leva de três a cinco dias úteis para ser concluído. Para saber mais sobre o processo e enviar uma solicitação de verificação, consulte Verificação para apps.

Essa política se aplica a todos os apps. Recomendamos que todos passem pelo processo de verificação do Google OAuth o quanto antes para evitar interrupções nos negócios.

Exemplo de autorização

O código a seguir demonstra como configurar o cliente e autorizar solicitações usando o OAuth 2.0 para aplicativos da Web. Outras linguagens estão disponíveis na página Amostras e Bibliotecas.

PHP

Este exemplo usa o fluxo de aplicativos da Web. O URI de redirecionamento deve ser o URI desta página 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;
}

Agora que você autenticou, pode criar um objeto Service para fazer solicitações de API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);