Como autenticar chamadas de API

Neste exemplo, mostramos como as contas de serviço podem ser usadas para chamar a API AdSense Platforms e criar e gerenciar subcontas.

Etapa 1: criar um projeto do Google Cloud ou usar um projeto atual

Se você já tiver um projeto do Google Cloud, use-o. Caso contrário, siga o guia abaixo para configurar um novo projeto:

https://cloud.google.com/resource-manager/docs/creating-managing-projects

Etapa 2: criar uma conta de serviço

Usar contas de serviço é a melhor maneira de criar subcontas. Siga estas etapas para criar sua conta de serviço:

  • Acesse a página contas de serviço no Google Cloud.
  • Você pode usar uma conta de serviço atual ou criar uma nova:
    • Clique em "+ Criar conta de serviço".
    • Preencha o formulário "Detalhes da conta de serviço"
    • As etapas 2 e 3 na página (conceder acesso a projetos e usuários) são opcionais

Saiba mais sobre como criar e gerenciar contas de serviço.

Depois de criar a conta de serviço, você precisa enviá-la ao Google para que ela seja adicionada à sua conta do Google AdSense. Isso é essencial, porque a conta de serviço precisa ter permissão para acessar sua conta do Google AdSense. Entre em contato com seu gerente de contas.

Etapa 3: ativar a API AdSense Platform no seu projeto do Google Cloud

A API AdSense Platform não é detectável. Isso significa que você precisa acessar o link a seguir para ativar a API no seu projeto:

https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview

Etapa 4: criar uma chave de serviço

Para gerar tokens de acesso para uso nas chamadas de API, você precisa criar uma chave de serviço. Siga estas etapas:

  • Acesse a página contas de serviço no Google Cloud.
  • Na coluna "Ações", clique em e em "Gerenciar chaves" na conta de serviço que você quer usar para criar subcontas.
  • Clique em "Adicionar chave" e selecione "Criar nova chave".
  • Mantenha o JSON selecionado como o tipo de chave e clique em "Criar".
  • Um arquivo JSON será criado e transferido por download para seu computador. Mantenha esse valor em segurança, porque ele será necessário para autenticar as chamadas de API.

Saiba mais sobre como criar e gerenciar chaves de contas de serviço.

Etapa 5: usar as bibliotecas OAuth do Google para gerar um token de acesso

O Google oferece bibliotecas para ajudar a gerar tokens de acesso, que podem ser usados para fazer as chamadas de API. Saiba como gerar credenciais para contas de serviço:

https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests

O escopo da API AdSense Platforms é o seguinte: https://www.googleapis.com/auth/adsense

Exemplo do Python

from google.auth.transport import requests
from google.oauth2 import service_account

CREDENTIAL_SCOPES = ["https://www.googleapis.com/auth/adsense"]
CREDENTIALS_KEY_PATH = 'service.json'

def get_service_account_token():
  credentials = service_account.Credentials.from_service_account_file(
          CREDENTIALS_KEY_PATH, scopes=CREDENTIAL_SCOPES)
  credentials.refresh(requests.Request())
  return credentials.token

Nesta etapa, você já pode começar a chamar as APIs. Como as bibliotecas de cliente ainda não têm suporte para a API AdSense Platform, é necessário fazer solicitações HTTP diretas. O token de acesso precisa ser incluído como um cabeçalho na solicitação HTTP. O cabeçalho deve ficar assim:

Authorization: OAuth <credentials>

Exemplos estão incluídos nas páginas da API.