Récupérer les liens de traçabilité depuis plusieurs régions

Le pseudo-code suivant décrit une procédure que vous pouvez suivre à l'aide de l'API de traçabilité des données afin de récupérer les liens de traçabilité des données à partir de toutes les régions disponibles.

  1. Configuration de la saisie:
  2. linksToFetch = 5 (nombre de liens à extraire de toutes les régions)
  3. regionalPageToken = "" (dernier jeton de page régional reçu utilisé pour la pagination)
  4. Créez :
    1. Liste de toutes les régions à distribuer, nommée regions.
    2. liste des régions inaccessibles appelées unreachable.
    3. une liste vide de liens trouvés appelée foundLinks.
    4. une variable vide nextPageToken et nextRegionalPageToken.
    5. Une variable vide lastRegion.
    6. Une variable vide lastRegionLinksCount.
  5. Triez regions par ordre alphabétique.
  6. Analyser regionalPageToken
    1. S'il est vide, passez à l'étape 4.
    2. Si ce n'est pas le cas,
      1. analyser regionalPageToken en le divisant par le premier point en deux segments
      2. filtrer les régions en ne prenant que celles qui se trouvent après (par ordre alphabétique) le premier segment de la valeur regionalPageToken analysée.
      3. stocker le deuxième segment pour l'utiliser dans tous les appels projects.locations.searchLinks.
  7. Appelez projects.locations.searchLinks dans chaque région de la liste regions en parallèle.
  8. Attendez que toutes les requêtes soient traitées.
  9. Filtrez les réponses réussies et stockez les noms de région ayant échoué dans la liste unreachable.
  10. Pour chacune des réponses (commençant par la première région par ordre alphabétique)
    1. Si aucun lien n'a été renvoyé avec un jeton de page non vide
      1. nom de la région du magasin dans lastRegion.
      2. enregistrer le jeton de page reçu dans nextPageToken.
      3. ignorer les réponses restantes.
    2. sinon
      1. nom de la région du magasin dans lastRegion.
      2. enregistrer les liens reçus dans foundLinks (jusqu'à linksToFetch).
      3. enregistrer le jeton de page reçu dans nextPageToken.
      4. Nombre de liens stockés dans la réponse dans lastRegionLinksCount.
      5. Si foundLinks est inférieur à linksToFetch
        1. poursuivez le pseudo-code avec la prochaine réponse reçue dans l'ordre alphabétique.
      6. si foundLinks correspond à linksToFetch
        1. envoyez une autre requête au point de terminaison projects.locations.searchLinks dans la même région, mais définissez le paramètre pageSize sur la valeur lastRegionLinksCount.
        2. magasin a reçu pageToken dans nextPageToken.
        3. passer à l'étape 8
  11. Ajoutez le préfixe lastRegion à la page "nextPageToken" (autrement dit, "[region].[receivedNextPageToken]") pour créer un objet nextRegionalPageToken permettant de gérer la pagination lors d'appels consécutifs.