Contas de serviço

As contas de serviço são Contas do Google especiais que podem ser usadas por aplicativos para acessar as APIs do Google programaticamente via OAuth 2.0. Uma conta de serviço usa um fluxo do OAuth 2.0 que não requer autorização humana. Em vez disso, ele usa um arquivo de chave que só seu aplicativo pode acessar. Neste guia, falamos sobre como acessar a API Content for Shopping com contas de serviço.

Observação: os aplicativos que usam contas de serviço para autenticação só podem acessar sua própria conta do Merchant Center. Se você estiver escrevendo um aplicativo de terceiros que precise de acesso às contas do Merchant Center dos seus clientes, consulte o guia Como autorizar solicitações.

Pré-requisitos

Etapas para usar uma conta de serviço para acessar a API Content for Shopping

  1. Gere credenciais de conta de serviço ou acesse as credenciais públicas que você já gerou. Você precisará criar um ID do cliente OAuth 2.0 e receber um arquivo de chave privada *.json:
    1. Vá para o Console de APIs do Google.
    2. Selecione um projeto no menu suspenso na parte superior da página. Se ainda não tiver um, crie um clicando em NOVO PROJETO.
    3. Se você ainda não ativou a API Content for Shopping para esse projeto, pesquise-o na lista de APIs do Google e ative-a.
    4. Na barra lateral à esquerda, selecione Credenciais. Talvez seja necessário clicar na seta para a esquerda no canto superior esquerdo.
    5. Para configurar uma conta de serviço, selecione CRIAR CREDENCIAIS e, em seguida, Conta de serviço.
    6. Nomeie a nova conta de serviço. Ele também serve como o nome de usuário padrão do ID da conta de serviço. Registre o ID da conta de serviço, incluindo a parte depois do caractere "@", para uso posterior. Clique em CRIAR, siga as etapas opcionais para conceder acesso ao projeto e aos usuários e clique em CONCLUÍDO.

      A escolha do papel para a conta de serviço não tem efeito sobre quais chamadas podem ser feitas na API Content, já que o acesso aos métodos da API Content é determinado pelo papel associado ao ID da conta de serviço no Merchant Center. Se você não souber o que escolher, selecione Projeto > Leitor.

    7. Você verá a página "Contas de serviço" em que poderá acessar sua nova conta de serviço.
    8. Para conseguir uma chave privada JSON, clique na conta de serviço e na guia CHAVES. Clique em ADICIONAR CHAVE > Criar nova chave e selecione JSON como o tipo de chave. Clique em CRIAR para fazer o download da chave privada no seu computador.
  2. Adicione a nova conta de serviço como um usuário à sua conta do Merchant Center. Se você for um desenvolvedor terceirizado, seu cliente precisará seguir essa etapa.
    1. Acesse sua conta do Merchant Center.
    2. Acesse Acesso à conta nas configurações da sua conta do Merchant Center.
    3. Clique em + Adicionar usuário e use o ID da conta de serviço como o endereço de e-mail do novo usuário.

      Se você não tiver anotado o ID da conta de serviço anteriormente, acesse a página de administração Contas de serviço e selecione o projeto criado.

    4. Especifique as preferências de Acesso de usuário e Notificações por e-mail para a conta de serviço. Observe que o uso do serviço Accounts requer acesso de Administrador.
    5. Clique em Adicionar usuário para salvar as preferências e retornar à lista de usuários. O ID da conta de serviço precisa ser listado com o papel do usuário escolhido.
    6. Repita o processo para todas as outras contas de serviço que você quiser adicionar.
  3. Agora é possível acessar a conta do Merchant Center usando a conta de serviço pelo fluxo de Application Default Credentials do Google ou pelo fluxo da conta de serviço diretamente. As amostras da API Content for Shopping mostram como usar os dois fluxos para as credenciais da conta de serviço em cada linguagem de programação compatível. Confira as amostras de código para testar a nova conta de serviço e saber quais mudanças serão necessárias para usar essas contas no seu próprio código.

Perguntas frequentes

Posso fazer login na IU do Merchant Center usando minha conta de serviço?
Não, elas não são Contas do Google normais e não podem acessar a IU do Merchant Center.
Com que frequência preciso atualizar os tokens de acesso da conta de serviço?
Os tokens de acesso expiram uma hora após a emissão deles no servidor de autorização Google OAuth 2.0. Quando um token de acesso expira, o app precisa usar a biblioteca de cliente para buscar outro token.