검색 및 SearchStream

Search Ads 360 Reporting API에는 Search Ads 360 쿼리 언어를 사용하여 쿼리를 만들 수 있는 통합 속성 검색 및 측정항목 보고 메커니즘이 있습니다. 이렇게 하면 개별 Search Ads 360 계정에 관한 대량의 데이터를 반환할 수 있는 복잡한 쿼리를 실행할 수 있습니다.

Search 또는 SearchStream 메서드 중 하나를 사용하여 쿼리를 만들 수 있습니다. 두 메서드 모두 동일한 쿼리를 지원하고 동일한 결과를 반환합니다. Search 메서드는 맞춤설정 가능한 페이지 크기로 데이터를 반환하므로 페이지로 나누기를 사용하여 결과 집합을 반복할 수 있습니다. 이는 대역폭이 낮거나 네트워크 상태가 불안정한 경우에 유용할 수 있습니다. 예를 들어 큰 결과 세트를 연결이 끊긴 경우 다시 가져올 수 있는 더 작은 응답으로 분할하는 경우입니다. 반면 SearchStream 메서드는 전체 결과 집합을 단일 응답으로 다시 스트리밍하므로 일괄 데이터 검색에 더 효율적일 수 있습니다.

SearchSearchStream 모두 동일한 기본 URL을 사용합니다.

    https://searchAds360.googleapis.com/v0/customers/CUSTOMER_ID/searchAds360

페이지 기반 검색 메서드는 단일 API 응답에서 반환되는 결과 수를 제한하는 선택적 pageSize 매개변수를 사용합니다.

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchAds360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}

결과에 pageSize보다 많은 행이 있는 경우 응답에 nextPageToken이 반환됩니다.

{
  "results": [
    // ...
    // ...
    // ...
  ],
  "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B",
  "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status"
}

위 값이 추가된 pageToken를 사용하여 동일한 쿼리를 반복하면 다음 결과 페이지가 가져옵니다.

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN


{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'",
"pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B"
}

단일 스트리밍 응답으로 모든 결과를 반환하는 SearchStream 메서드를 사용하려면 URL의 서비스 메서드를 searchStream로 변경하기만 하면 됩니다(SearchStream에는 pageSizepageToken가 필요하지 않음).

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
    "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}