Recherche et SearchStream

L'API Search Ads 360 Reporting dispose d'un mécanisme unifié de récupération des attributs et de création de rapports sur les métriques qui vous permet de créer des requêtes à l'aide du langage de requête Search Ads 360. Cela permet d'exécuter des requêtes complexes pouvant renvoyer de grandes quantités de données sur des comptes Search Ads 360 individuels.

Vous pouvez créer des requêtes à l'aide des méthodes Search ou SearchStream. Les deux méthodes acceptent les mêmes requêtes et renvoient des résultats équivalents. La méthode Search renvoie des données dans des tailles de page personnalisables, ce qui vous permet d'itérer sur un ensemble de résultats à l'aide de la pagination. Cela peut être avantageux dans des conditions de bande passante faible ou de réseau peu fiable, par exemple pour segmenter un grand ensemble de résultats en réponses plus petites qui peuvent être récupérées si une connexion est perdue. La méthode SearchStream, en revanche, diffuse l'ensemble des résultats dans une seule réponse, ce qui peut être plus efficace pour la récupération de données groupées.

Search et SearchStream utilisent la même URL de base :

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

La méthode de recherche basée sur les pages accepte un paramètre pageSize facultatif qui limite le nombre de résultats renvoyés dans une seule réponse d'API.

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'"
}

Si le nombre de lignes dans les résultats est supérieur à pageSize, un nextPageToken est renvoyé dans la réponse :

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

Si vous répétez la même requête en ajoutant un pageToken avec la valeur ci-dessus, vous récupérerez la page de résultats suivante :

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"
}

Pour utiliser la méthode SearchStream, qui renvoie tous les résultats dans une seule réponse diffusée, il vous suffit de remplacer la méthode de service dans l'URL par searchStream (pageSize et pageToken ne sont pas requis par SearchStream) :

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'"
}