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