La raison pour laquelle vous êtes bloqué à environ 20 résultats est que Google n’envoie les données que par petites « pages ». Pour obtenir l’ensemble suivant de résultats, n8n a besoin d’une clé numérique spéciale appelée « token » de la part de Google. Actuellement, votre configuration ne parvient pas à obtenir cette clé et ne l’utilise pas correctement, donc n8n pense avoir atteint la fin de la liste après la première page.
D’abord, vous devez explicitement demander à Google d’envoyer cette clé. Dans vos paramètres, il y a un en-tête « Field Mask » où vous énumérez les informations que vous souhaitez (comme le numéro de téléphone et l’adresse). Parce que vous n’avez pas inclus « nextPageToken » dans cette liste, Google omet simplement la clé de la réponse, ne laissant aucun moyen à n8n de demander la page deux.
Deuxièmement, il y a une petite faute de frappe dans vos paramètres de pagination. Vous avez écrit « pagetoken » en minuscules, mais Google est très strict et exige un « T » majuscule (« pageToken »). À cause de cette faute de frappe, Google ignore la demande de données supplémentaires. Une fois que vous corrigez l’en-tête et la majuscule, vous commencerez à voir plus de résultats, bien que vous ayez également peut-être besoin d’augmenter votre limite de « max requests » si vous voulez plus de 60 résultats au total.
Voici le JSON corrigé. Vous pouvez copier ceci et le coller directement dans votre canevas de workflow n8n.
Remarque : j’ai augmenté maxRequests à 10 (au lieu de 3) pour que vous puissiez récupérer jusqu’à 200 résultats. Vous pouvez ajuster ce nombre en fonction du nombre de restaurants dont vous avez besoin
Je vais directement l’essayer ! Désolé pour cette question de débutant, mais j’ai vraiment cherché des réponses sur le web avant ! Je te tiens au courant si ça a marché !
☆☆☆☆☆ réponse ! Je t’envoie de bonnes ondes !!! Passe une journée parfaite !!!
D’abord, vous voyez les mêmes données se répéter parce que vous avez trop de nœuds. Le nœud HTTP Request dans n8n dispose d’une fonctionnalité de pagination intégrée qui gère automatiquement les jetons « page suivante ». En chaînant trois nœuds identiques ensemble, vous dites essentiellement à n8n de recommencer la recherche entière à partir de la première page trois fois différentes. Vous n’avez besoin que d’un seul nœud HTTP Request pour obtenir tous vos résultats.
Deuxièmement, vous ne pouvez pas demander à l’API de Google d’afficher uniquement les entreprises sans sites web ; l’API n’a simplement pas de filtre « null » ou « vide ». Pour y parvenir, vous devez d’abord télécharger tous les résultats, puis utiliser un nœud « Filter » d’n8n. Ce nœud examinera la liste et supprimera toute entreprise qui a un site web, ne laissant que celles qui n’en ont pas.
Enfin, il y a un risque de sécurité grave : vous avez accidentellement partagé votre clé d’API Google secrète dans votre message. Puisque cette clé est maintenant publique, n’importe qui peut l’utiliser et faire facturer des coûts à votre compte. Vous devez aller dans votre Google Cloud Console immédiatement, supprimer cette clé spécifique et en créer une nouvelle pour sécuriser votre compte.
Veuillez essayer ceci :
*Crucial : J’ai remplacé votre clé d’API divulguée par un espace réservé YOUR_NEW_API_KEY. Vous devez le remplacer par la nouvelle clé que vous générez dans la Google Cloud Console.
Merci beaucoup ! J’ai supprimé l’API et j’en ai créé une toute nouvelle ! Je vais aussi essayer le workflow et faire quelques petits ajustements ! Merci pour ton temps et ton dévouement !
J’obtiens maintenant 60 résultats… C’est dans la bonne direction !
J’ai une entrée avec WebsiteUri indéfini et je veux la filtrer ! J’ai joint une capture d’écran, comment j’ai essayé ! Mais je fais quelque chose de mal ! Pouvez-vous peut-être m’aider une dernière fois ? Comment obtenir plus de résultats ? Merci
La raison pour laquelle votre filtre ne fonctionne pas est que vous dites à n8n de chercher le mot littéral « undefined » écrit comme du texte. Dans le monde des données, « undefined » n’est pas un mot—c’est un état signifiant que l’information est complètement manquante. Comme le champ du site web est vide au lieu de contenir le texte « undefined », le filtre l’ignore. Pour corriger cela, changez l’opérateur de « contient » à « Est vide ». Cela indique à n8n de conserver tout ce où le champ du site web est manquant, nul ou vide.
Concernant vos résultats, Google envoie les données par « pages » de 20 entreprises à la fois. Votre capture d’écran montre que vous avez 19 ou 20 lieux dans un résultat, ce qui est le maximum autorisé par Google par page. Vos paramètres de pagination sont en fait corrects, mais Google a une limite stricte sur le nombre total de résultats qu’il affichera pour une seule recherche (généralement autour de 60 au total). Si vous avez atteint cette limite, le nextPageToken disparaîtra simplement et la recherche s’arrêtera.
Pour obtenir plus de résultats au-delà de cette limite, vous ne pouvez pas simplement modifier un paramètre ; vous devez « tromper » l’API en étant plus spécifique. Au lieu de chercher « Restaurant München », essayez de chercher des quartiers spécifiques (par exemple, « Restaurant Maxvorstadt München » ou « Restaurant Schwabing München »). En divisant votre grande recherche en plusieurs petites recherches basées sur la localisation, vous pouvez contourner la limite de 60 résultats et rassembler des centaines d’entreprises.
Voici le flux de travail amélioré
Rappel : Remplacez YOUR_NEW_API_KEY par votre nouvelle clé.
1)Supprimez l’expression fx.
2)Cliquez sur le champ et sélectionnez websiteUri dans le menu déroulant (le sélecteur de variables) au lieu de la taper dans la zone d’expression.
3)Conservez l’opérateur comme Is Empty.
Bonjour et bienvenue ! Il y a deux problèmes ici. Premièrement, le JSON est sensible à la casse, pagetoken et pageToken sont des choses complètement différentes. Google ne reconnaît que pageToken (T majuscule), il ignore donc le token envoyé et retourne simplement la première page à chaque fois.
Deuxièmement, l’API Google Places a besoin d’environ 2 secondes avant qu’un page token devienne valide, 500 ms c’est trop rapide, et le token est rejeté silencieusement.