Я разрабатываю клиент AdWords API на Ruby с использованием драгоценных камней Google google-adwords-api
и ads-common
(который использует savon
).Разбор ошибкиСтрих от ответа API AdWords
Когда какая-либо политика AdWords нарушена, Savon создает исключение с описанием нарушения в своем message
. Например, нарушающие правила о товарных знаках:
[PolicyViolationError{
super=PolicyViolationError.POLICY_ERROR @ operations[0].operand.ad.headline,
key=PolicyViolationKey{policyName=trademark,violatingText=Xerox},
externalPolicyName=Trademarked Term,
externalPolicyUrl=,
externalPolicyDescription=Due to trademark reasons, we do not allow advertisers to use 'Xerox' in their Google AdWords ads. This term may be trademarked either for a certain product or service category and may apply only in certain countries you have targeted.
,
isExemtable=true,
violatingParts=[Part{index=0, length=5}]}]
Я форматировал его для ясности, но первоначально, есть только две линия ломает после «целенаправленной.», Остальное одна линии без ломаешь и с пробелами только после запятых, aroung "@" и в тексте на естественном языке.
Как я могу разобрать этот вид сообщения с помощью Ruby самым простым способом? Я надеюсь, что это какой-то язык разметки, и для него есть драгоценный камень. Поэтому я не хочу использовать регулярные выражения, если есть более правильный путь.
Это строка или структура? Если это строка, я бы использовал регулярное выражение. Какие данные вам нужно извлечь? –
Строка. RegEx - это верный ответ, и, вероятно, я его буду использовать. Я просто надеялся, что кто-то узнает язык разметки и скажет мне, какой драгоценный камень использовать. – Hnatt