搜尋與 AMP;SearchStream

影片:報表

Google Ads API 提供整合式屬性擷取和指標報表 機制 可讓您使用 Google Ads 查詢 語言。 因此,複雜查詢可能會傳回大量關於 個人 Google Ads 帳戶。

您可以使用 SearchSearchStream 方法建立查詢。 這兩種方法支援相同的查詢並傳回對等的結果。 Search 方法會以 10,000 列固定大小的頁面傳回資料,讓您 使用分頁疊代處理結果集這種做法可能在低分時 或網路狀況不穩定的 會將結果設為較小的回應,可於連線成功時重新擷取 但損失。另一方面,SearchStream 方法會串流完整結果 因此,處理大量資料時 和擷取。

SearchSearchStream 使用相同的基準網址:

    https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/googleAds
POST /v17/customers/CUSTOMER_ID/googleAds:search HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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'"
}

如果結果包含超過 10,000 列,nextPageToken 就會 :

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

重複加入相同查詢,並加入 pageToken 並加入 上一個要求會擷取下一頁的結果:

POST /v17/customers/CUSTOMER_ID/googleAds:search HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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'",
"pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B"
}

如要使用 SearchStream 方法,這個方法會傳回單一串流中的所有結果 回應,請將網址中的服務方法變更為 searchStream (SearchStream 未要求pageSizepageToken):

POST /v17/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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'"
}