# Comment pourrais-je obtenir les résultats d'un sondage ?

**URL:** <https://meta.discourse.org/t/how-could-i-get-voters-from-a-poll/233433>\
**Category:** Product Support\
**Tags:** polls\
**Created:** [Juillet 20, 2022, 2:56 UTC](https://meta.discourse.org/t/how-could-i-get-voters-from-a-poll/233433 "2022-07-20T14:56:24Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![markschmucker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markschmucker/32/141599_2.png) [@markschmucker](https://meta.discourse.org/u/markschmucker)\
**Post date:** [Février 26, 2025, 7:04 UTC](https://meta.discourse.org/t/how-could-i-get-voters-from-a-poll/233433/11 "2025-02-26T19:04:36Z")

</div>

Voici une solution fonctionnelle pour obtenir ce que le sondage d’exportation obtient.

```plaintext
import requests
from io import StringIO
import csv
from urllib.parse import urlencode

def get_discourse_poll_results(post_id, poll_name):
    """
    Récupère les résultats d'un sondage de Discourse en utilisant la requête 16 de Data Explorer,
    qui renvoie les résultats du sondage au format CSV.
    """

    url = f"{DISCOURSE_URL}/admin/plugins/explorer/queries/-16/run.csv"

    payload = {
        "params": f'{{"poll_name":"{poll_name}","post_id":"{post_id}"}}',
        "explain": "false",
        "limit": "1000000",
        "download": "1",
    }
    headers = {
        "Api-Key": DISCOURSE_API_KEY,
        "Api-Username": DISCOURSE_API_USERNAME,
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "X-Requested-With": "XMLHttpRequest"
    }

    try:
        response = requests.post(url, data=urlencode(payload), headers=headers)
        response.raise_for_status()

        csv_data = StringIO(response.text)
        reader = csv.reader(csv_data)
        results = list(reader)

        processed_results = process_poll_results(results)
        reformatted_results = reformat_rating_poll(processed_results)
        return reformatted_results

    except requests.exceptions.RequestException as e:
        print(f"Erreur lors de la récupération des résultats du sondage : {e}")
        print(f"Texte de la réponse : {response.text}")
        return None

```

---

_[View the full topic](https://meta.discourse.org/t/how-could-i-get-voters-from-a-poll/233433)._
