Arama ve Akış Arama

Google Ads API, Google Ads Sorgu Dili'ni kullanarak sorgu oluşturmanıza olanak tanıyan birleşik bir özellik alma ve metrik raporlama mekanizmasına sahiptir. Bu sayede, bireysel Google Ads hesapları hakkında büyük miktarda veri döndürebilen karmaşık sorgular oluşturulabilir.

Search veya SearchStream yöntemlerinden birini kullanarak sorgu oluşturabilirsiniz. Her iki yöntem de aynı sorguları destekler ve eşdeğer sonuçlar döndürür. Search yöntemi, verileri 10.000 satırlık sabit boyutlu sayfalarda döndürerek sayfalama kullanarak bir sonuç kümesi üzerinde iterasyon yapmanıza olanak tanır. Bu, düşük bant genişliği veya güvenilir olmayan ağ koşullarında avantajlı olabilir. Örneğin, büyük bir sonuç kümesini, bağlantı kesildiğinde yeniden getirilebilecek daha küçük yanıtlara bölmek için kullanılabilir. SearchStream yöntemi ise tüm sonuç kümesini tek bir yanıtla geri gönderir. Bu yöntem, toplu veri alma işlemleri için daha verimli olabilir.

Hem Search hem de SearchStream aynı ana URL'yi kullanır:

    https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds
POST /v26/customers/CUSTOMER_ID/googleAds:search HTTP/1.1
Host: googleads.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'"
}

Sonuçlarda 10.000'den fazla satır varsa yanıtta bir nextPageToken döndürülür:

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

Aynı sorguyu, önceki istekteki değerlerle eklenen bir pageToken ile tekrarlamak, sonuçların sonraki sayfasını getirir:

POST /v26/customers/CUSTOMER_ID/googleAds:search HTTP/1.1
Host: googleads.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'",
"pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B"
}

Tüm sonuçları tek bir akış yanıtında döndüren SearchStream yöntemini kullanmak için URL'deki hizmet yöntemini searchStream olarak değiştirin (SearchStream için pageToken gerekli değildir):

POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.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'"
}