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'이거나 그 앞의 어휘상이면 true입니다. |
>= |
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입니다. |
메시지를 순회할 때 필드는 기본값이 아닌 값을 가질 때만 존재하는 것으로 간주됩니다.
제한사항
개별 서비스는 여기에 정의된 것 외에도 필터 쿼리에 대한 추가 구조 또는 제한사항을 지정할 수 있습니다.
주문
Ad Manager API는 List
메서드의 순서 지정을 지원합니다. orderBy
필드의 구문은 필드 이름의 쉼표로 구분된 목록입니다. 예를 들면 "foo,bar"
입니다.
기본 정렬 순서는 오름차순입니다. 필드의 내림차순을 지정하려면 " desc"
서픽스를 추가합니다. 예를 들면 "foo desc, bar"
입니다.
구문에서 중복 공백 문자는 무시됩니다. "foo, bar desc"
, " foo , bar desc "
, "foo,bar desc"
값은 모두 동일합니다.
하위 필드는 탐색 연산자로 지정됩니다. 예를 들면 foo.bar
또는 address.street
입니다.