Existe-t-il un moyen de récupérer tous les e-mails des utilisateurs via l'API ?

J’ai vu ce lien : Is there a way to get a user email adress from the API?

Cependant, nous devons vérifier dans un autre service, en utilisant l’API Discourse, si une adresse e-mail existe sur le site Discourse. Nous pouvons rechercher un nom d’utilisateur ou un nom via /u/search/users.json, mais ceux-ci ne semblent pas renvoyer l’adresse e-mail.

Donc, pouvez-vous rechercher ou interroger toutes les adresses e-mail pour comparaison ?

Vous pouvez utiliser le plugin Data Explorer pour créer une requête, puis appeler l’API de requête ensuite avec une requête du type SELECT * FROM user_emails.

Au niveau de chaque utilisateur, il existe également le point de terminaison https://meta.discourse.org/u/<nom_utilisateur>/emails.json.

Oui, le lien inclus dans ma question initiale est « Discourse Meta/emails.json », mais existe-t-il un moyen d’obtenir toutes les adresses e-mail des utilisateurs ? … Je préférerais utiliser l’API plutôt que d’implémenter un plugin permettant des requêtes SQL, si possible.

Nos points de terminaison d’API sont ceux consommés par l’application web. Comme nous journalisons les requêtes par e-mail dans l’application web, nous n’exposons aucun moyen d’extraire en masse des adresses e-mail.

La seule méthode possible à l’heure actuelle consiste à utiliser la solution basée sur l’Explorateur de données mentionnée ci-dessus.

Pour être tout à fait clair, nous utilisons l’API via une clé secrète. Je comprends que le front-end n’aurait pas les mêmes droits, mais l’API ne pourrait-elle pas y accéder ?

Pour donner plus de détails, nous avons une application et Discourse, tous deux configurés avec une autorisation SSO Auth0. Cependant, si quelqu’un se connecte à notre application, nous voulons nous assurer qu’il possède un compte sur Discourse (et le rediriger vers ce lien). Peut-être que ce n’est pas la meilleure méthode pour vérifier si Discourse a enregistré cet e-mail si l’utilisateur arrive d’abord sur notre site. Voici un lien vers Discourse au cas où l’e-mail ne serait pas encore enregistré.

Si vous utilisez vrai Discourse SSO, vous pouvez interroger l’existence d’un utilisateur par son identifiant unique externe transmis dans la charge utile SSO en utilisant GET https://example.com/u/by-external/<EXTERNAL_ID>