Cómo obtener una lista de cuentas a las que puedes acceder

Puedes obtener una lista de los clientes a los que puedes acceder con el método ListAccessibleCustomers en CustomerService. Sin embargo, es necesario entender qué clientes se muestran con este tipo de solicitud.

Obtener una lista de clientes a los que puedes acceder es una de las pocas solicitudes de la API de Search Ads 360 Reporting que no requiere que especifiques un ID de cliente en la solicitud y, además, ignorará cualquier login-customer-id suministrado.

La lista de clientes que obtengas se basará en tus credenciales de OAuth. La solicitud muestra una lista de todas las cuentas en las que puedes tomar medidas directamente según las credenciales que tengas actualmente. Esto no necesariamente incluirá todas las cuentas dentro de la jerarquía de la cuenta, sino que solo incluirá las cuentas en las que se agregó al usuario autenticado con derechos de administrador o de otro tipo.

Imagina que eres el usuario A, que es administrador de M1 y C3 en las dos jerarquías que se muestran arriba. Si realizas una llamada a la API de Search Ads 360 Reporting, por ejemplo, para SearchAds360Service, podrías acceder a la información de las cuentas M1, C1 ,C2 y C3 de Google. Sin embargo, una llamada a CustomerService.ListAccessibleCustomers mostraría solo M1 y C3, ya que esas son las únicas cuentas en las que el usuario A tiene acceso directo.

En este ejemplo de código, se muestra el uso del método CustomerService.ListAccessibleCustomers:

Java

// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package sample;

import com.google.ads.searchads360.v0.lib.SearchAds360Client;
import com.google.ads.searchads360.v0.services.CustomerServiceClient;
import com.google.ads.searchads360.v0.services.ListAccessibleCustomersRequest;
import com.google.ads.searchads360.v0.services.ListAccessibleCustomersResponse;

/** List all customers that can be accessed by the authenticated Google account. */
public class ListAccessibleCustomers {

  public static void main(String[] args) {
    try {
      // Creates a SearchAds360Client with local properties file
      final SearchAds360Client searchAds360Client =
          SearchAds360Client.newBuilder().fromPropertiesFile().build();
      // Creates the Customer Service Client.
      CustomerServiceClient client = searchAds360Client.createCustomerServiceClient();
      new ListAccessibleCustomers().runExample(client);
    } catch (Exception exception) {
      System.err.printf("Failed with exception: %s%n", exception);
      exception.printStackTrace();
      System.exit(1);
    }
  }

  private void runExample(CustomerServiceClient customerServiceClient) {
    ListAccessibleCustomersResponse response =
        customerServiceClient.listAccessibleCustomers(
            ListAccessibleCustomersRequest.getDefaultInstance());

    System.out.printf("Total results: %d%n", response.getResourceNamesCount());

    for (String customerResourceName : response.getResourceNamesList()) {
      System.out.printf("Customer resource name: %s%n", customerResourceName);
    }
  }
}

Descarga ListAccessibleCustomers.java