Ad Manager API는 List
메서드의 필터링을 지원합니다. 필터 문자열 문법은 EBNF 문법에 공식적으로 정의되어 있습니다.
시작하려면 다음과 같은 일반적인 사용 사례를 참고하세요.
예 | 의미 |
---|---|
orders.updateTime > "2024-01-01T00:00:00-5:00" |
동부 표준시 기준 2024년 1월 1일 이후에 updateTime 가 있는 주문을 나열합니다. |
lineItems.targeting.geoTargeting.targetedGeoIds:2840 |
미국 (지역 타겟 ID 2480 )이 포함된 지역 타겟팅이 설정된 광고 항목을 표시합니다. |
lineItems.displayName = "*_interstitial" |
표시 이름이 _interstitial 문자열로 끝나는 광고 항목을 나열합니다. |
orders.displayName = "*video*" |
표시 이름에 video 문자열이 포함된 주문을 나열합니다. |
displayName:"video" |
표시 이름에 video 문자열이 포함된 주문을 나열합니다 (대체 문법). |
리터럴
맨 리터럴 값 (예: 42
, Hugo
)은 일치시킬 값입니다.
단독으로 표시되는 리터럴은 리소스의 지원되는 모든 필드와 대략 일치합니다. 리소스는 list
메서드에서 일치하는 것으로 간주되는 필드를 문서화합니다. 이 기능은 Ad Manager UI의 범용 검색과 유사하지만 단일 리소스 유형으로 범위가 지정됩니다.
공백이 포함된 문자열 리터럴은 큰따옴표로 래핑해야 합니다 (예: "Foo bar"
). 작은따옴표는 문자열 리터럴을 래핑하는 데 사용할 수 없습니다.
논리 연산자
Ad Manager API는 바이너리 연산자 AND
및 OR
를 지원합니다.
연산자 | 예 | 의미 |
---|---|---|
AND |
a AND b |
a 와 b 가 true이면 true입니다. |
OR |
a OR b OR c |
a , b , c 중 하나라도 참이면 true입니다. |
부정 연산자
Ad Manager API는 단항 연산자 NOT
및 -
를 제공합니다. 이 두 가지는 서로 바꿔서 사용할 수 있습니다.
연산자 | 예 | 의미 |
---|---|---|
NOT |
NOT a |
a 가 true가 아니면 true입니다. |
- |
-a |
a 가 true가 아니면 true입니다. |
비교 연산자
Ad Manager API는 문자열, 숫자, 타임스탬프, 시간 필드에 대해 바이너리 비교 연산자 =
, !=
, <
, >
, <=
, >=
를 지원합니다.
연산자 | 예 | 의미 |
---|---|---|
= |
a = true |
a 가 true이면 true입니다. |
!= |
a != 42 |
a 이 42가 아니면 true입니다. |
< |
a < 42 |
a 가 42보다 작은 숫자 값인 경우 true입니다. |
> |
a > "foo" |
a 가 'foo' 뒤에 문법적으로 정렬된 경우 true입니다. |
<= |
a <= "foo" |
a 가 'foo'이거나 문법적으로 앞에 오는 경우 참입니다. |
>= |
a >= 42 |
a 이 42 이상의 숫자 값인 경우 true입니다. |
필터는 쿼리 문자열로 허용되므로 문자열을 적절한 강력한 유형의 값으로 변환하는 유형 변환이 발생합니다.
- 문자열은 큰따옴표를 사용합니다. 예:
"Foo bar"
- enum은 enum의 문자열 표현을 예상합니다 (대소문자 구분).
- 불리언은
true
및false
리터럴 값을 예상합니다. - 숫자는 표준 정수 또는 부동 소수점 표현을 예상합니다. 부동 소수점 수의 경우 지수가 지원됩니다. 예:
2.997e9
- 시간은 숫자 표현 뒤에
s
접미사 (초)가 오는 것을 예상합니다. 예:"20s"
,"1.2s"
- 타임스탬프는 RFC-3339 형식의 문자열을 예상합니다. 예를 들면
"2012-04-21T11:30:00-04:00"
입니다. UTC 오프셋이 지원됩니다.
와일드 카드
문자열을 비교할 때 Ad Manager API는 *
문자를 사용하여 와일드 카드를 지원합니다.
예 | 의미 |
---|---|
a = "*.foo" |
a 이 '.foo'로 끝나는 경우 True입니다. |
순회 연산자
Ad Manager API는 메시지, 맵 또는 구조체를 통한 탐색을 나타내는 .
연산자를 지원합니다.
예 | 의미 |
---|---|
a.b = true |
a 에 true인 불리언 b 필드가 있으면 true입니다. |
a.b > 42 |
a 에 42보다 큰 숫자 b 필드가 있으면 true입니다. |
a.b.c = "foo" |
a.b 에 'foo'인 문자열 c 필드가 있으면 true입니다. |
트래버설은 리소스의 필드 이름을 사용하여 작성됩니다. 개별 서비스는 탐색에 지원되는 필드의 하위 집합을 지정할 수 있습니다.
연산자 있음
Ad Manager API는 'has'를 의미하는 :
연산자를 지원합니다. 컬렉션 (반복된 필드 또는 맵), 메시지, 문자열과 함께 사용할 수 있으며, 각 경우에 따라 약간 다르게 동작합니다.
문자열 필드 쿼리: 문자열에 일치하는 하위 문자열이 포함되어 있는지 확인합니다.
예 | 의미 |
---|---|
r.displayName:"_250x250" |
문자열 필드 r.displayName 에 하위 문자열 _250x250 가 포함된 경우 true입니다. |
반복 필드 쿼리는 반복되는 구조에 일치하는 요소가 있는지 확인합니다.
예 | 의미 |
---|---|
r:42 |
r 에 42가 포함된 경우 true입니다. |
r.foo:42 |
r 에 e.foo = 42 와 같은 요소 e 가 포함되어 있으면 true입니다. |
맵, 구조체, 메시지는 맵에 필드가 있는지 또는 특정 값이 있는지 쿼리할 수 있습니다.
예 | 의미 |
---|---|
m:foo |
m 에 'foo' 키가 포함되어 있으면 true입니다. |
m.foo:* |
m 에 'foo' 키가 포함되어 있으면 true입니다. |
m.foo:42 |
m.foo 가 42면 true입니다. |
메시지를 탐색할 때 필드는 기본값이 아닌 값이 있는 경우에만 있는 것으로 간주됩니다.
제한사항
개별 서비스는 여기에 정의된 것 외에도 필터 쿼리에 대한 추가 구조 또는 제한사항을 지정할 수 있습니다.
주문
대부분의 리소스는 List
메서드에서 정렬을 지원합니다. 리소스의 정확한 동작과 정렬에 지원되는 필드는 List
메서드 문서를 참고하세요.
orderBy
필드의 문법은 쉼표로 구분된 필드 이름 목록입니다. 예를 들면 "foo,bar"
입니다.
기본 정렬 순서는 오름차순입니다. 필드에서 내림차순으로 지정하려면 " desc"
서픽스를 추가합니다. 예를 들면 "foo desc, bar"
입니다.
구문에서 중복되는 공백 문자는 무시됩니다. "foo, bar
desc"
, " foo , bar desc "
, "foo,bar desc"
값은 모두 동일합니다.
하위 필드는 탐색 연산자로 지정됩니다. 예를 들면 foo.bar
또는 address.street
입니다.