Internos do OAuth 2.0 para a API Google Ads

Esta seção é destinada a usuários avançados que já conhecem a especificação do OAuth 2.0 e sabem como usar o OAuth 2.0 com as APIs do Google.

Escopo

Um único token de acesso pode conceder vários graus de acesso a várias APIs. Um parâmetro variável chamado scope controla o conjunto de recursos e operações que um token de acesso permite. Durante a solicitação do token de acesso, seu app envia um ou mais valores no parâmetro scope.

O escopo da API Google Ads é:

https://www.googleapis.com/auth/adwords

Acesso off-line e ciclo de vida dos tokens

É comum que um app cliente da API Google Ads solicite acesso off-line. Por exemplo, seu app pode querer executar jobs em lote quando o usuário não estiver on-line navegando no site. Os tokens de acesso têm uma vida útil de 3.600 segundos (1 hora). Depois disso, o app precisa trocar um token de atualização por um novo token de acesso.

Para solicitar acesso off-line para um tipo de app da Web, defina o parâmetro access_type como offline. É possível encontrar informações adicionais no Guia do OAuth 2.0 do Google.

Para o tipo de app para computador, o acesso off-line é ativado por padrão. Não é necessário solicitá-lo explicitamente.

Cabeçalhos das solicitações

Todas as solicitações para a API Google Ads precisam incluir o token de acesso do OAuth 2.0 no cabeçalho da solicitação. As seções a seguir descrevem como transmitir essas credenciais usando gRPC e REST.

Cabeçalhos gRPC

Ao usar a API gRPC, inclua o token de acesso em cada solicitação. É possível vincular um Credential a um Channel para uso em todas as solicitações nesse canal. Também é possível enviar uma credencial personalizada para cada chamada. O guia de autorização do gRPC contém mais detalhes sobre como lidar com a autorização.

Cabeçalhos REST

Ao usar a API REST, transmita o token de acesso pelo cabeçalho HTTP Authorization: Bearer <ACCESS_TOKEN>. Veja um exemplo de solicitação HTTP:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \