Comme l’a noté Jay, une requête POST authentifiée vers /export_csv/export_entity.json peut être utilisée pour générer l’archive. Pour ce faire, vous devez utiliser une clé API globale « Tous les utilisateurs ». Définissez le nom d’utilisateur de l’API de la requête sur le nom d’utilisateur de l’utilisateur pour lequel vous souhaitez créer l’archive. Vous devez fournir un paramètre entity avec la requête. Le paramètre entity doit être défini sur user_archive. Avec cette approche, une notification sera générée pour l’utilisateur. Pour la plupart des utilisateurs, cela enverra également un e-mail contenant un lien de téléchargement, mais je ne pense pas que cela puisse être garanti : cela dépend de la façon dont l’utilisateur a configuré ses préférences e-mail.
Voici un exemple de requête curl pour générer l’archive. J’ai remplacé $api_key par une clé API globale « Tous les utilisateurs » dans la requête :
curl -X POST "http://localhost:3000/export_csv/export_entity.json" -H "Api-Username: Ben" -H "Api-Key: $api_key" -F "entity=user_archive"
Je ne sais pas s’il existe un moyen de générer l’archive de manière à pouvoir la partager sans que l’utilisateur n’ait à accéder à la notification et à cliquer sur son lien de téléchargement. Peut-être qu’une requête Data Explorer pourrait être développée pour retourner les informations. Vous pourriez ensuite exécuter la requête Data Explorer via l’API. L’inconvénient de cette approche est que si plus de 10 000 lignes de données sont renvoyées par la requête, vous devrez effectuer plusieurs requêtes pour obtenir les données. Pour plus de détails sur l’approche Data Explorer, consultez : Comment exécuter des requêtes Data Explorer avec l’API Discourse.