Асинхронные ошибки

Поскольку ExperimentService включает несколько асинхронных операций, механизм получения ошибок, связанных с этими операциями, отличается от синхронных операций.

Затронутые операции

Асинхронные операции, в которых используется этот механизм, перечислены ниже.

Как долго выполняющиеся операции обрабатывают ошибки

Для этих методов API возвращает продолжительную операцию (google.longrunning.Operation), которую можно опрашивать, чтобы проверять статус асинхронного выполнения. Когда операция завершается (done = true), google.longrunning.Operation заполняет либо response (с google.protobuf.Empty в случае успеха), либо error (со сводкой google.rpc.Status, если возникли асинхронные ошибки).

Если бы полный список ошибок возвращался непосредственно в полезной нагрузке продолжительной операции, ошибки могли бы быть пропущены, если бы опрос прекратился раньше времени, а полезная нагрузка ответа могла бы стать чрезмерно большой для запроса опроса. Вместо этого поле error в продолжительной операции указывает на то, что произошли ошибки, а подробные сведения об ошибках Status можно получить из специальной конечной точки разбиения на страницы.

Получение асинхронных ошибок

Чтобы получить полный список ошибок для продолжительной операции эксперимента, вызовите метод ExperimentService.ListExperimentAsyncErrors. Передайте название ресурса эксперимента (resource_name) и необязательный параметр page_size, а затем просмотрите возвращенные записи Status с помощью page_token, как и в случае с любым другим запросом списка Google Ads API:

GET https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/experiments/EXPERIMENT_ID:listExperimentAsyncErrors?pageSize=100