Comenzar

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 informes y campañas, tal como lo haría a través de los servicios web de Campaign Manager 360 y del 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:

  1. Debes tener una cuenta de Campaign Manager 360. Consulta la sección Anunciantes/agencias para obtener información sobre el registro.

  2. Su cuenta de Campaign Manager 360 debe estar habilitada para acceder a la API. La mayoría de las cuentas tienen esta función habilitada de forma predeterminada. Si no está seguro, comuníquese con su representante de cuenta o con el equipo de asistencia al cliente de Campaign Manager 360 para obtener ayuda.

  3. Debes tener un perfil de usuario con acceso a esta cuenta. Pídele a tu administrador de cuentas de Campaign Manager 360 que cree un perfil de usuario asociado con esta cuenta.

  4. Verifica los permisos de perfil del usuario en la IU de Campaign Manager 360. Estos controlan a qué puede acceder el perfil de usuario desde la API. No hay permisos de API independientes.

Cómo crear 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. El uso de este vínculo te guiará en el proceso y activará automáticamente la API de Campaign Manager 360.

Genera credenciales

Todas las solicitudes que realices a la API de Campaign Manager 360 deben estar autorizadas. Para obtener una descripción general breve de la autorización, consulta cómo autorizar e identificar tu aplicación en Google.

Las siguientes instrucciones te guiarán a través del proceso de creación de un ID de cliente de OAuth 2.0 para usar con el flujo de aplicación instalada. Si deseas obtener instrucciones para generar credenciales a fin de usarlas con el flujo de la cuenta de servicio, consulta la guía Cuentas de servicio.

  1. Sigue los pasos para configurar un proyecto de la Consola de API de Google.

  2. Abre la página Credenciales en la Consola de API.
  3. Haz clic en CREAR CREDENCIALES > ID de cliente de OAuth.

    1. Si nunca configuraste una pantalla de consentimiento de OAuth para este proyecto, se te solicitará que lo hagas. Haz clic en CONFIGURAR PANTALLA DE CONSENTIMIENTO.

    2. Seleccione el tipo de usuario y haga clic en CREAR.

    3. Complete el formulario inicial. Si es necesario, puedes editarlo más adelante. Haz clic en Guardar cuando termines.

    4. Para continuar, regresa a Credenciales > CREAR CREDENCIALES > ID de cliente de OAuth.

  4. Selecciona App de escritorio como el tipo de aplicación, asígnale un nombre y, luego, haz clic en Crear.

Cuando termines, verás un ID de cliente y un secreto de cliente de OAuth 2.0, que puedes descargar en formato JSON y guardar para usarlos en otro momento.

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 y mayor seguridad; además, admiten la realización de solicitudes autorizadas. Las bibliotecas cliente están disponibles en varios lenguajes de programación. Con ellos, podrás evitar la necesidad de configurar de forma manual las solicitudes HTTP y de analizar las respuestas.

Para comenzar, selecciona el lenguaje de programación que usas para el desarrollo.

C#

Instala la versión más reciente de la biblioteca cliente de la API de Campaign Manager 360 para .NET. Se recomienda usar NuGet a fin de 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, sigue estos pasos:

composer update google/apiclient

Según el sistema, es posible que debas anteponer estos comandos con sudo.

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 tu instalación.

Abre una terminal y ejecuta el siguiente comando:

pip install --upgrade google-api-python-client

Según el sistema, es posible que debas anteponer estos comandos con sudo.

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, sigue estos pasos:

gem update -y google-api-client

Según el sistema, es posible que debas anteponer estos comandos con sudo.

Más información

Puedes encontrar más lenguajes 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. Descubre cómo autorizar, configurar tu cliente y realizar tu primera solicitud con la guía de inicio rápido que se muestra a continuación.

C#

  1. Carga el archivo de secretos del cliente y genera credenciales de autorización.

    La primera vez que realice este paso, se le pedirá que acepte un mensaje de autorización en el navegador. Antes de aceptar la invitación, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación estará autorizada para acceder a los datos en nombre de cualquier cuenta a la que hayas accedido.

    // 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;
    
  2. Crea un cliente autorizado de DFA.

    // 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"
        }
    );
    
  3. 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

  1. Carga el archivo de secretos del cliente y genera credenciales de autorización.

    La primera vez que realice este paso, se le pedirá que acepte un mensaje de autorización en el navegador. Antes de aceptar la invitación, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación estará autorizada para acceder a los datos en nombre de cualquier cuenta a la que hayas accedido.

    // 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");
    
  2. Crea un cliente autorizado de DFA.

    // 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();
    
  3. 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

  1. Carga el archivo de secretos del cliente y genera credenciales de autorización.

    La primera vez que realice este paso, se le pedirá que acepte un mensaje de autorización en el navegador. Antes de aceptar la invitación, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación estará autorizada para acceder a los datos en nombre de cualquier cuenta a la que hayas accedido.

    // 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()));
    }
    
  2. Crea un cliente autorizado de DFA.

    // Create a Dfareporting service object.
    $service = new Google_Service_Dfareporting($client);
    
  3. 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

  1. Carga el archivo de secretos del cliente y genera credenciales de autorización.

    La primera vez que realice este paso, se le pedirá que acepte un mensaje de autorización en el navegador. Antes de aceptar la invitación, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación estará autorizada para acceder a los datos en nombre de cualquier cuenta a la que hayas accedido.

    # 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())
    
  2. Crea un cliente autorizado de DFA.

    # Construct a service object via the discovery service.
    service = discovery.build('dfareporting', 'v4', http=http)
    
  3. 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

  1. Carga el archivo de secretos del cliente y genera credenciales de autorización.

    La primera vez que realice este paso, se le pedirá que acepte un mensaje de autorización en el navegador. Antes de aceptar la invitación, asegúrate de haber accedido con una Cuenta de Google que tenga acceso a Campaign Manager 360. Tu aplicación estará autorizada para acceder a los datos en nombre de cualquier cuenta a la que hayas accedido.

    # 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
    
  2. Crea un cliente autorizado de DFA.

    # 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'
    
  3. 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, explora nuestra amplia colección de muestras de código, que se pueden modificar y extender para satisfacer tus necesidades.