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 novo projeto do Google Cloud (ou usar um existente)
Se você já tiver um projeto do Google Cloud, fique à vontade para usá-lo. 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 de contas de serviço no Google Cloud.
- É possível usar uma conta de serviço atual ou criar uma nova:
- Clique em "+ Criar conta de serviço".
- Preencha os "Detalhes da conta de serviço". formam
- As etapas 2 e 3 na página (como conceder acesso a projetos e usuários) são opcionais.
Saiba mais sobre como criar e gerenciar contas de serviço.
Depois que a conta de serviço for criada, você precisará enviá-la ao Google para que ela seja adicionada à sua conta do Google AdSense. Isso é essencial, já que a conta de serviço precisa ter permissão para acessar sua conta do Google AdSense. Informe isso por meio do seu gerente de contas.
Etapa 3: ativar a API AdSense Platform para seu projeto do Google Cloud
A API AdSense Platform não é detectável. Isso significa que você precisa acessar o seguinte link para ativá-la 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, é necessário criar uma chave de serviço. Siga estas etapas:
- Acesse a página de contas de serviço no Google Cloud.
- Na coluna de ações da conta de serviço que você quer usar para criar subcontas, clique em e em "Gerenciar chaves".
- Clique em "Adicionar chave" e selecione "Criar nova chave".
- Mantenha JSON selecionado como o tipo de chave e clique em "Criar".
- Um arquivo JSON será criado e baixado para seu computador. Mantenha a segurança porque ela será necessária 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 fornece bibliotecas para ajudar a gerar tokens de acesso, que podem ser usados para fazer chamadas de API. Saiba como gerar credenciais para contas de serviço aqui:
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 fase, está tudo pronto para você começar a chamar as APIs. Como as bibliotecas de clientes ainda não são compatíveis com a API da plataforma do Google AdSense, é necessário fazer solicitações HTTP diretas. O token de acesso deve ser incluído como cabeçalho na solicitação HTTP. O cabeçalho deve ser semelhante a este:
Authorization: OAuth <credentials>
Os exemplos estão incluídos nas páginas da API.