La API de Campaign Manager 360 proporciona acceso programático a la información de tu cuenta de Campaign Manager 360. Se usa para administrar y crear campañas e informes, así como lo harías a través de los servicios web de Campaign Manager 360 y el Creador de informes.
En esta guía, se describe cómo comenzar a usar la API de Campaign Manager 360.
Requisitos previos
Antes de usar la API de Campaign Manager 360, debes cumplir con algunos requisitos previos:
Debes tener una cuenta de Campaign Manager 360. Consulta Anunciantes/Agencias para obtener información sobre el registro.
Tu cuenta de Campaign Manager 360 debe estar habilitada para el acceso a la API. La mayoría de las cuentas tienen esta opción habilitada de forma predeterminada. Si no estás seguro, comunícate con tu representante de cuenta o con el equipo de asistencia de Campaign Manager 360 para obtener ayuda.
Debes tener un perfil de usuario con acceso a esta cuenta. Pídele al administrador de tu cuenta de Campaign Manager 360 que cree un perfil de usuario asociado con esta cuenta.
Verifica los permisos del perfil de usuario en la IU de Campaign Manager 360. Estos controlan a qué puede acceder el perfil del usuario desde la API. No hay permisos de API independientes.
Crea un proyecto
Para comenzar a usar la API de Campaign Manager 360, primero debes crear o seleccionar un proyecto en la Consola de API de Google y habilitar la API. Este vínculo te guía a través del proceso y activa la API de Campaign Manager 360 automáticamente.
Genera credenciales
Todas las solicitudes que realices a la API de Campaign Manager 360 deben estar autorizadas. Para obtener una breve descripción general de la autorización, lee sobre cómo autorizar e identificar tu aplicación a Google.
Las siguientes instrucciones te guiarán por el proceso de creación de un ID de cliente de OAuth 2.0 para usarlo con el flujo de la aplicación instalada. Si deseas obtener instrucciones para generar credenciales para usar con el flujo de la cuenta de servicio, consulta la guía Cuentas de servicio.
Sigue los pasos para configurar un proyecto de la Consola de APIs de Google.
- Abre la página Credenciales en la Consola de API.
Haz clic en CREAR CREDENCIALES > ID de cliente de OAuth.
Si no configuraste una pantalla de consentimiento de OAuth para este proyecto con anterioridad, se te indicará que lo hagas ahora. Haz clic en CONFIGURAR PANTALLA DE CONSENTIMIENTO.
Selecciona el tipo de usuario y haz clic en CREAR.
Completa el formulario inicial. Si es necesario, puedes editar esta información más adelante. Haz clic en Guardar cuando termines.
Regresa a Credenciales > CREAR CREDENCIALES > ID de cliente de OAuth para continuar.
Selecciona App de escritorio como el tipo de aplicación, asígnale un nombre y, luego, haz clic en Crear.
Cuando termines, se te mostrará un ID de cliente y un secreto de cliente de OAuth 2.0, que puedes descargar en formato JSON y guardar para usarlo más adelante.
Instala una biblioteca cliente
La API de Campaign Manager 360 se basa en HTTP y JSON, por lo que cualquier cliente HTTP estándar puede enviarle solicitudes y analizar las respuestas.
Sin embargo, las bibliotecas cliente de la API de Google ofrecen una mejor integración de lenguajes, una mayor seguridad y compatibilidad para realizar solicitudes autorizadas. Las bibliotecas cliente están disponibles en varios lenguajes de programación. Con ellas, podrás evitar la necesidad de configurar manualmente las solicitudes HTTP y de analizar las respuestas.
Para comenzar, selecciona el lenguaje de programación que usas.
C#
Instala la biblioteca cliente de la API de Campaign Manager 360 para .NET más reciente. Se recomienda usar NuGet para administrar la instalación.
Abre la Consola del Administrador de paquetes de NuGet y ejecuta el siguiente comando:
Install-Package Google.Apis.Dfareporting.v3_4
Más información
Java
Instala la biblioteca cliente de la API de Campaign Manager 360 para Java más reciente. Se recomienda usar Maven para administrar la instalación.
Agrega la siguiente dependencia a tu archivo pom.xml
:
<dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-dfareporting</artifactId> <version>v4-rev20220611-1.32.1</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava-jdk5</artifactId> </exclusion> </exclusions> </dependency>
Más información
PHP
Instala la biblioteca cliente de la API de Campaign Manager 360 para PHP más reciente. Se recomienda usar Composer para administrar la instalación.
Abre una terminal y ejecuta el siguiente comando:
composer require google/apiclient
Si ya instalaste la biblioteca y solo quieres actualizar a la versión más reciente, ejecuta el siguiente comando:
composer update google/apiclient
Según tu sistema, es posible que debas anteponer sudo
a estos comandos.
Más información
Python
Instala la biblioteca cliente de la API de Campaign Manager 360 para Python más reciente. Se recomienda usar pip para administrar la instalación.
Abre una terminal y ejecuta el siguiente comando:
pip install --upgrade google-api-python-client
Según tu sistema, es posible que debas anteponer sudo
a estos comandos.
Más información
Ruby
Instala la biblioteca cliente de la API de Campaign Manager 360 para Ruby más reciente. Se recomienda usar RubyGems para administrar la instalación.
Abre una terminal y ejecuta el siguiente comando:
gem install google-api-client
Si ya instalaste la biblioteca y solo quieres actualizar a la versión más reciente, ejecuta el siguiente comando:
gem update -y google-api-client
Según tu sistema, es posible que debas anteponer sudo
a estos comandos.
Más información
Puedes encontrar más idiomas admitidos en la página Bibliotecas cliente.
Haz una solicitud
Con las credenciales de OAuth 2.0 creadas y una biblioteca cliente instalada, ya puedes comenzar a usar la API de Campaign Manager 360. Sigue la guía de inicio rápido que aparece a continuación para aprender a autorizar y configurar tu cliente, y realizar tu primera solicitud.
C#
Carga el archivo de secretos del cliente y genera credenciales de autorización.
La primera vez que realices este paso, se te pedirá que aceptes un mensaje de autorización en tu navegador. Antes de aceptar, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación tendrá autorización para acceder a los datos en nombre de la cuenta a la que se accedió.
// Load client secrets from the specified JSON file. GoogleClientSecrets clientSecrets; using(Stream json = new FileStream(pathToJsonFile, FileMode.Open, FileAccess.Read)) { clientSecrets = GoogleClientSecrets.Load(json); } // Create an asynchronous authorization task. // // Note: providing a data store allows auth credentials to be cached, so they survive multiple // runs of the application. This avoids prompting the user for authorization every time the // access token expires, by remembering the refresh token. The "user" value is used to // identify a specific set of credentials within the data store. You may provide different // values here to persist credentials for multiple users to the same data store. Task<UserCredential> authorizationTask = GoogleWebAuthorizationBroker.AuthorizeAsync( clientSecrets.Secrets, OAuthScopes, "user", CancellationToken.None, dataStore); // Authorize and persist credentials to the data store. UserCredential credential = authorizationTask.Result;
Crea un cliente autorizado de Dfareporting.
// Create a Dfareporting service object. // // Note: application name should be replaced with a value that identifies your application. service = new DfareportingService( new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = "C# installed app sample" } );
Realiza una operación.
// Retrieve and print all user profiles for the current authorized user. UserProfileList profiles = service.UserProfiles.List().Execute(); foreach (UserProfile profile in profiles.Items) { Console.WriteLine("Found user profile with ID {0} and name \"{1}\".", profile.ProfileId, profile.UserName); }
Java
Carga el archivo de secretos del cliente y genera credenciales de autorización.
La primera vez que realices este paso, se te pedirá que aceptes un mensaje de autorización en tu navegador. Antes de aceptar, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación tendrá autorización para acceder a los datos en nombre de la cuenta a la que se accedió.
// Load the client secrets JSON file. GoogleClientSecrets clientSecrets = GoogleClientSecrets.load( jsonFactory, Files.newBufferedReader(Paths.get(pathToClientSecretsFile), UTF_8)); // Set up the authorization code flow. // // Note: providing a DataStoreFactory allows auth credentials to be cached, so they survive // multiple runs of the program. This avoids prompting the user for authorization every time the // access token expires, by remembering the refresh token. GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( httpTransport, jsonFactory, clientSecrets, OAUTH_SCOPES) .setDataStoreFactory(dataStoreFactory) .build(); // Authorize and persist credentials to the data store. // // Note: the "user" value below is used to identify a specific set of credentials in the data // store. You may provide different values here to persist credentials for multiple users to // the same data store. Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
Crea un cliente autorizado de Dfareporting.
// Create a Dfareporting client instance. // // Note: application name below should be replaced with a value that identifies your // application. Suggested format is "MyCompany-ProductName/Version.MinorVersion". Dfareporting reporting = new Dfareporting.Builder(credential.getTransport(), credential.getJsonFactory(), credential) .setApplicationName("dfareporting-java-installed-app-sample") .build();
Realiza una operación.
// Retrieve and print all user profiles for the current authorized user. UserProfileList profiles = reporting.userProfiles().list().execute(); for (int i = 0; i < profiles.getItems().size(); i++) { System.out.printf("%d) %s%n", i + 1, profiles.getItems().get(i).getUserName()); }
PHP
Carga el archivo de secretos del cliente y genera credenciales de autorización.
La primera vez que realices este paso, se te pedirá que aceptes un mensaje de autorización en tu navegador. Antes de aceptar, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación tendrá autorización para acceder a los datos en nombre de la cuenta a la que se accedió.
// Create a Google_Client instance. // // Note: application name should be replaced with a value that identifies // your application. Suggested format is "MyCompany-ProductName". $client = new Google_Client(); $client->setAccessType('offline'); $client->setApplicationName('PHP installed app sample'); $client->setRedirectUri(self::OAUTH_REDIRECT_URI); $client->setScopes(self::$OAUTH_SCOPES); // Load the client secrets file. $client->setAuthConfig($pathToJsonFile); // Try to load cached credentials from the token store. Using a token store // allows auth credentials to be cached, so they survive multiple runs of // the application. This avoids prompting the user for authorization every // time the access token expires, by remembering the refresh token. if (file_exists($tokenStore) && filesize($tokenStore) > 0) { $client->setAccessToken(file_get_contents($tokenStore)); } else { // If no cached credentials were found, authorize and persist // credentials to the token store. print 'Open this URL in your browser and authorize the application.'; printf("\n\n%s\n\n", $client->createAuthUrl()); print 'Enter the authorization code: '; $code = trim(fgets(STDIN)); $client->authenticate($code); file_put_contents($tokenStore, json_encode($client->getAccessToken())); }
Crea un cliente autorizado de Dfareporting.
// Create a Dfareporting service object. $service = new Google_Service_Dfareporting($client);
Realiza una operación.
// Retrieve and print all user profiles for the current authorized user. $result = $service->userProfiles->listUserProfiles(); foreach ($result['items'] as $userProfile) { printf( "User profile \"%s\" (ID: %d) found for account %d.\n", $userProfile->getUserName(), $userProfile->getProfileId(), $userProfile->getAccountId() ); }
Python
Carga el archivo de secretos del cliente y genera credenciales de autorización.
La primera vez que realices este paso, se te pedirá que aceptes un mensaje de autorización en tu navegador. Antes de aceptar, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación tendrá autorización para acceder a los datos en nombre de la cuenta a la que se accedió.
# Set up a Flow object to be used if we need to authenticate. flow = client.flow_from_clientsecrets( path_to_client_secrets_file, scope=OAUTH_SCOPES) # Check whether credentials exist in the credential store. Using a credential # store allows auth credentials to be cached, so they survive multiple runs # of the application. This avoids prompting the user for authorization every # time the access token expires, by remembering the refresh token. storage = Storage(CREDENTIAL_STORE_FILE) credentials = storage.get() # If no credentials were found, go through the authorization process and # persist credentials to the credential store. if credentials is None or credentials.invalid: credentials = tools.run_flow(flow, storage, tools.argparser.parse_known_args()[0]) # Use the credentials to authorize an httplib2.Http instance. http = credentials.authorize(httplib2.Http())
Crea un cliente autorizado de Dfareporting.
# Construct a service object via the discovery service. service = discovery.build('dfareporting', 'v4', http=http)
Realiza una operación.
# Construct the request. request = service.userProfiles().list() # Execute request and print response. response = request.execute() for profile in response['items']: print('Found user profile with ID %s and user name "%s".' % (profile['profileId'], profile['userName']))
Ruby
Carga el archivo de secretos del cliente y genera credenciales de autorización.
La primera vez que realices este paso, se te pedirá que aceptes un mensaje de autorización en tu navegador. Antes de aceptar, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación tendrá autorización para acceder a los datos en nombre de la cuenta a la que se accedió.
# Load client ID from the specified file. client_id = Google::Auth::ClientId.from_file(path_to_json_file) # Set up the user authorizer. # # Note: providing a token store allows auth credentials to be cached, so they # survive multiple runs of the application. This avoids prompting the user for # authorization every time the access token expires, by remembering the # refresh token. authorizer = Google::Auth::UserAuthorizer.new( client_id, [API_NAMESPACE::AUTH_DFAREPORTING], token_store ) # Authorize and persist credentials to the data store. # # Note: the 'user' value below is used to identify a specific set of # credentials in the token store. You may provide different values here to # persist credentials for multiple users to the same token store. authorization = authorizer.get_credentials('user') if authorization.nil? puts format( "Open this URL in your browser and authorize the application.\n\n%s" \ "\n\nEnter the authorization code:", authorizer.get_authorization_url(base_url: OAUTH_REDIRECT_URI) ) code = STDIN.gets.chomp authorization = authorizer.get_and_store_credentials_from_code( base_url: OAUTH_REDIRECT_URI, code: code, user_id: 'user' ) end
Crea un cliente autorizado de Dfareporting.
# Create a Dfareporting service object. # # Note: application name should be replaced with a value that identifies # your application. Suggested format is "MyCompany-ProductName". service = API_NAMESPACE::DfareportingService.new service.authorization = authorization service.client_options.application_name = 'Ruby installed app sample' service.client_options.application_version = '1.0.0'
Realiza una operación.
// Retrieve and print all user profiles for the current authorized user. UserProfileList profiles = service.UserProfiles.List().Execute(); foreach (UserProfile profile in profiles.Items) { Console.WriteLine("Found user profile with ID {0} and name \"{1}\".", profile.ProfileId, profile.UserName); }
Más información
Visita la referencia de la API para obtener información sobre todos los servicios que ofrece la API. Cada página de detalles del método tiene un Explorador de API incorporado que puedes usar para realizar solicitudes de prueba directamente desde tu navegador.
Revisa nuestras otras guías, que abarcan temas avanzados y proporcionan ejemplos de extremo a extremo para tareas comunes.
Cuando tengas todo listo para comenzar a escribir código, no dudes en explorar nuestra amplia recopilación de muestras de código, que se pueden modificar y extender para satisfacer tus necesidades.