понедельник, 1 декабря 2008 г.

Общие ошибки, приводящие к отказам SOAP (Часть IV)

Добро пожаловать в четвертую часть серии статей, в которых даются советы и подсказки, как решать возникающие с SOAP проблемы. AdWords API базируется на службе SOAP и обращается к ней. В тоже время, иногда очень трудно отлаживать отказы SOAP. В прошлой статье обсуждались ошибки, связанные со случаем «операция не существует». В этой статье будут рассмотрены ошибки SOAP, связанные с проверкой. Предыдущие статьи находятся здесь: статья 1, статья 2, статья 3.

Отказы проверки

В этом случае Вы получаете сообщение об ошибке «Один или несколько переданных элементов не прошли проверку» («One or more input elements failed validation») – код ошибки 122. В этом случае в ответе детализируются поля, содержащие последовательность элементов ApiError с элементами найденных ошибок. Могут быть приведены следующие поля:
  • index: указывается индекс элемента в исходном массиве, который вызвал ошибку;
  • code: указывается тип ошибки;
  • field: имя поля исходного элемента, которое содержит ошибку;
  • trigger: строка с описанием ошибки;
  • isExemptable: булева переменная, которая показывает возможность освободиться от ошибки. По умолчанию – «false»;
  • textIndex: место в тексте, вызвавшее ошибку;
  • textLength: длина строки, которая привела к ошибке;
  • detail: описание ошибки.
Общая ошибка, которая попадают в эту категорию, это ошибка нарушения Политики объявлений. Вы получите сообщение «Указанный текст нарушает политику Google» («The text specified for this Creative violates Google policy») – код ошибки 21, при попытке добавить объявление, не соответствующее Политике объявлений Google. Чтобы избежать этой ошибки, проверяйте объявления, используя checkAds(), на их соответствие Политике объявлений Google, и, только потом, добавляйте, используя addAd(). Если объявление нарушает политику, то checkAds() должна возвратить последовательность объектов ApiError, которые описывают нарушения политики. Вы можете, таким образом, проверить поля, которые вызвали нарушения политики. Кроме того, некоторые нарушения могут освобождаться, если флаг isExemptable установлен в «true». В этом случае Вы можете запросить освобождение от политики и добавить свое объявление.

В следующей статье будут рассмотрены ошибки, возникающие при синхронизации аккаунтов или при выполнении одновременных запросов к AdWords API.


Автор: Anash Oommen

Комментариев нет: