Google Ads API, Google Ads Sorgu Dili'ni kullanarak sorgular oluşturmanıza olanak tanıyan birleştirilmiş bir özellik alma ve metrik raporlama mekanizmasına sahiptir. Bu sayede, her bir Google Ads hesabı hakkında büyük miktarda veri döndürebilen karmaşık sorgulara izin verilir.
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 özelleştirilebilir sayfa boyutlarında döndürerek sayfalara ayırma işlemini kullanarak sonuç kümesi üzerinde iterasyon yapmanızı sağlar. 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ölebilirsiniz. Öte yandan SearchStream
yöntemi, tüm sonuç kümesinin tek bir yanıtta geri akışını sağlar. Bu da toplu veri alımı için daha verimli olabilir.
Hem Search
hem de SearchStream
aynı temel URL'yi kullanır:
https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/googleAds
Sayfa tabanlı arama yöntemi, isteğe bağlı bir pageSize
parametresi alır. Bu parametre, tek bir API yanıtında döndürülen sonuç sayısını sınırlandırır.
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 { "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'" }
Sonuçlarda pageSize
değerinden daha fazla satır varsa yanıtta nextPageToken
döndürülür:
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
Aynı sorgunun yukarıdaki değerle birlikte pageToken
ile tekrarlanması sonraki sonuç sayfasını getirir:
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 { "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" }
Tüm sonuçları tek bir akışlı yanıtta döndüren SearchStream
yöntemini kullanmak için URL'deki hizmet yöntemini searchStream
olarak değiştirmeniz yeterlidir (SearchStream
için pageSize
ve pageToken
gerekli değildir):
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'" }