Параметр строки запроса filters ограничивает данные, возвращаемые в отчете AdSense Management API. При использовании параметра filters вы указываете параметр, по которому хотите выполнить фильтрацию, а затем выражение фильтра.
Фильтры в запросах ограничивают количество строк, включаемых в результат. Каждая строка в результате проверяется на соответствие фильтру. Если строка соответствует фильтру, она сохраняется, а если нет – удаляется.
- Кодирование URL. Клиентские библиотеки автоматически кодируют операторы фильтров. Однако если вы отправляете запросы непосредственно в протокол, то должны явно кодировать операторы фильтров, как показано в таблице ниже.
- Приоритет фильтрации. Фильтрация выполняется до агрегирования параметров, поэтому возвращаемые показатели представляют собой общие значения только для релевантных параметров.
Синтаксис фильтра
Для одиночного фильтра используется форма:
name operator expression
В этом синтаксисе:
- name – название параметра, по которому выполняется фильтрация.
Например,
AD_CLIENT_IDотфильтрует данные по идентификатору клиента. - operator – определяет тип соответствия фильтру.
- expression – указывает значения, включенные в результаты.
В качестве фильтров можно использовать все параметры, которые применяются к показателям в отчете, за исключением параметров, связанных с датами (DATE, WEEK и MONTH). Чтобы отфильтровать данные по дате, укажите диапазон дат для отчета.
Операторы фильтра
Есть два оператора фильтра. Чтобы операторы можно было включить в строки запроса URL, они должны быть закодированы.
| Оператор | Описание | Форма в кодировке URL | Пример |
|---|---|---|---|
== |
Точное соответствие | %3D%3D |
Агрегированные показатели, где название страны – Канада:
filters=COUNTRY_NAME%3D%3DCanada |
=@ |
Содержит подстроку | %3D@ |
Агрегировать показатели, в которых название страны содержит United (например, United States и United Kingdom):
filters=COUNTRY_NAME%3D@United |
Выражения фильтра
Существует несколько важных правил относительно выражений фильтров:
- Зарезервированные символы URL. Такие символы, как
&, должны быть закодированы в URL обычным способом. Клиентские библиотеки выполняют это автоматически, поэтому вам нужно беспокоиться о кодировании только в том случае, если вы напрямую вызываете протокол. - Зарезервированные символы. Запятая и обратная косая черта должны быть экранированы обратной косой чертой, если они появляются в выражении.
- обратная косая черта
\\ - запятая
\,
- обратная косая черта
Примечание. Чтобы избежать двойного экранирования, экранируйте обратные косые черты перед запятыми.
Объединение фильтров
Фильтры можно комбинировать с помощью логических операторов OR и AND.
Логический оператор ИЛИ
Логика OR определяется с помощью запятой (,) в выражении фильтра.
Пример (каждый URL должен быть закодирован):
Код страны (US или UK):
COUNTRY_CODE==US,COUNTRY_CODE==UK
Логический оператор И
Логика AND реализуется путем указания нескольких параметров фильтра, что в клиентских библиотеках означает предоставление массива фильтров.
Пример
Код страны – US, а код продукта – AFC:
filters=COUNTRY_CODE%3D%3DUS&filters=PRODUCT_CODE%3D%3DAFC
Объединение операторов И и ИЛИ
В одном выражении можно использовать логические операторы И и ИЛИ.
Примечание. Каждый фильтр оценивается отдельно, а затем все они объединяются в логическое выражение И.
Пример
Код страны: (US ИЛИ UK) И код продукта: AFC:
filters=COUNTRY_CODE%3D%3DUS,COUNTRY_CODE%3D%3DUK&filters=PRODUCT_CODE%3D%3DAFC