Cómo comenzar

Recomendamos usar la biblioteca cliente con Apache Maven (o Gradle).

Crea un proyecto nuevo de Maven o Gradle

Crea un proyecto nuevo de Maven o Gradle en el IDE que elijas. Nuestros artefactos se publican en el repositorio central de Maven.

La dependencia de Maven es la siguiente:

<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
  <version>38.0.0</version>
</dependency>

La dependencia de Gradle es la siguiente:

implementation 'com.google.api-ads:google-ads:38.0.0'

También puedes compilar desde la fuente. Para los fines de esta guía, se supone que tienes un proyecto configurado con las dependencias necesarias disponibles.

Si compilas desde la fuente, asegúrate de habilitar el procesamiento de anotaciones en tu IDE.

Obtén credenciales para autenticarte con la API

Para acceder a la API de Google Ads, se requieren credenciales de OAuth y un token de desarrollador de la API de Google Ads. En esta sección, se explica qué son, cómo se usan y cómo se obtienen.

Token de desarrollador (para acceder a la API)

El token de desarrollador está vinculado a una cuenta de administrador y se puede encontrar en la interfaz web de Google Ads.

Si bien el token de desarrollador está vinculado a una cuenta de administrador, no proporciona acceso a ella. En cambio, el token de desarrollador otorga acceso a la API en general, y el acceso a nivel de la cuenta se configura a través de OAuth.

Credenciales de OAuth (para acceder a las cuentas de Google Ads)

Para autorizar a los usuarios de cuentas de Google con acceso a las cuentas de Google Ads, debes proporcionar un conjunto de credenciales de OAuth.

En general, se usan dos flujos de OAuth: el de la app para computadoras (instalada) o el de la app web. La principal diferencia entre ambos es que las apps para computadoras deben abrir el navegador del sistema y proporcionar un URI de redireccionamiento local para controlar las respuestas del servidor de autorización de Google, mientras que las apps web pueden redireccionar un navegador de terceros arbitrario para completar la autorización y enviar las credenciales a tu servidor. La biblioteca también admite el flujo de cuentas de servicio que se usa con menos frecuencia.

Si autorizas el acceso con tus propias credenciales (flujo de la app para computadoras)
Consulta el flujo de la app para computadoras de OAuth. Esto incluye todos los detalles que necesitas para autorizar con tus propias credenciales.
Si autorizas como usuario de Google externo (flujo web)
Consulta el flujo de la app web de OAuth. En este ejemplo, se muestra cómo configurar la autorización de OAuth para usuarios externos arbitrarios.
Si autorizas como usuario de dominio de Google Apps (flujo de cuenta de servicio)
Consulta el flujo de la cuenta de servicio de OAuth. En este ejemplo, se muestra cómo configurar la autorización de OAuth para los usuarios de dominios de Google Apps.

Si accedes a la cuenta de cliente de Google Ads a través de una cuenta de administrador de Google Ads, también debes especificar un ID de cliente de acceso, como se describe a continuación.

ID de cliente de acceso (para acceder a las cuentas de Google Ads a través de una cuenta de administrador)

De manera opcional, especifica el ID de cliente de una cuenta de administrador que otorgue acceso a la cuenta de publicación. Se debe especificar si tu acceso a la cuenta del cliente es a través de una cuenta de administrador. No es necesario especificar todas las cuentas de administrador en la ruta de acceso al ID de cliente, solo el ID de administrador de nivel superior que usas para los permisos de acceso. Para obtener más detalles, consulta la documentación relacionada.

Configura la biblioteca cliente con tus credenciales

Puedes configurar la biblioteca cliente con un archivo de configuración, variables de entorno o de forma programática. En esta guía, usaremos el enfoque del archivo de configuración y nos enfocaremos en los flujos web y de escritorio. Usar un archivo de configuración suele ser un buen enfoque si solo tienes un conjunto de credenciales (por ejemplo, si administras cuentas en un solo administrador).

Crea un archivo ~/ads.properties con el siguiente contenido:

api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE

Reemplaza los marcadores de posición por las credenciales que obtuviste en el paso anterior.

Además, si tu token de actualización es para una cuenta de administrador, debes especificar el ID de cliente de esta cuenta como el cliente de acceso:

api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

Valida las credenciales

Para asegurarnos de que todo esté configurado correctamente, ejecutaremos el ejemplo de GetCampaigns.

Primero, navega al directorio google-ads-examples.

cd google-ads-examples

En este ejemplo, se requiere un parámetro --customerId en el que el valor sea el ID de cliente de tu cuenta de Google Ads sin guiones.

Para ejecutar con Gradle, haz lo siguiente:

./gradlew -q runExample --example="basicoperations.GetCampaigns --customerId INSERT_CUSTOMER_ID_HERE"

Explora otros ejemplos

El paquete examples en google-ads-examples contiene varios ejemplos útiles. La mayoría de los ejemplos requieren parámetros. Puedes pasar los parámetros como argumentos (opción recomendada) o editar los valores de INSERT_XXXXX_HERE en el código fuente. Para ver una declaración de uso de un ejemplo, pasa --help como único argumento.

Con Gradle:

./gradlew -q runExample --example="basicoperations.GetCampaigns --help"

También puedes usar la tarea listExamples en Gradle para enumerar todos los ejemplos, los ejemplos en un subdirectorio o los ejemplos en los que la descripción incluye un término de búsqueda.

# List all examples:
./gradlew -q listExamples
# List examples in the 'basicoperations' subdirectory:
./gradlew -q listExamples --subdirectory='basicoperations'
# Search for examples where the description includes 'Performance Max':
./gradlew -q listExamples --searchTerm='Performance Max'