Список доступных учетных записей

Вы можете перечислить доступных вам клиентов с помощью метода ListAccessibleCustomers в CustomerService . Однако необходимо понимать, какие клиенты возвращаются в запросе такого типа.

Перечисление доступных клиентов — один из немногих запросов в API отчетов Search Ads 360, который не требует указания идентификатора клиента в запросе и игнорирует любой предоставленный login-customer-id .

Результирующий список клиентов основан на ваших учетных данных OAuth. Запрос возвращает список всех учетных записей, с которыми вы можете действовать напрямую, учитывая ваши текущие учетные данные. Это не обязательно будет включать все учетные записи в иерархии учетных записей; скорее, он будет включать только учетные записи, в которых ваш аутентифицированный пользователь был добавлен с правами администратора или другими правами в учетной записи.

Представьте, что вы пользователь A , администратор M1 и C3 в двух иерархиях, изображенных выше. Если вы вызовете API отчетов Search Ads 360, например SearchAds360Service , вы сможете получить доступ к информации для аккаунтов M1 , C1 , C2 и C3 . Однако вызов CustomerService.ListAccessibleCustomers вернет только M1 и C3 поскольку это единственные учетные записи, к которым пользователь A имеет прямой доступ.

Ниже приведен пример кода, иллюстрирующий использование метода CustomerService.ListAccessibleCustomers :

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

Скачать ListAccessibleCustomers.java

#!/usr/bin/env python
# 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.
"""Lists all accessible customers."""

import traceback
from util_searchads360 import SearchAds360Client


def main(client) -> None:
  customer_service
= client.get_customer_service()

 
# Issues a list accessible customer request.
  accessible_customers
= customer_service.list_accessible_customers()
  result_total
= len(accessible_customers.resource_names)
 
print(f"Total results: {result_total}")

  resource_names
= accessible_customers.resource_names
 
for resource_name in resource_names:
   
print(f'Accessible customer resource name: "{resource_name}"')


if __name__ == "__main__":
 
# SearchAds360Client will read the search-ads-360.yaml configuration file in
 
# the home directory if none is specified.
  search_ads_360_client
= SearchAds360Client.load_from_file()

 
try:
    main
(search_ads_360_client)
 
except Exception:  # pylint: disable=broad-except
    traceback
.print_exc()

Загрузите list_accessible_customers.py