> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Effectuer votre première requête

> Prenez en main la X API en quelques minutes

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

Ce guide vous accompagne pour effectuer votre première requête vers l'X API. Vous aurez besoin d'un [compte développeur avec des identifiants d'App](/fr/x-api/getting-started/getting-access) avant de commencer.

***

<div id="quick-start-with-curl">
  ## Démarrage rapide avec cURL
</div>

Le moyen le plus rapide de tester l'API est d'utiliser cURL. Recherchons un utilisateur :

```bash theme={null}
curl "https://api.x.com/2/users/by/username/xdevelopers" \
  -H "Authorization: Bearer $BEARER_TOKEN"
```

Remplacez `$BEARER_TOKEN` par votre jeton Bearer réel. Vous recevrez une réponse de ce type :

```json theme={null}
{
  "data": {
    "id": "2244994945",
    "name": "X Developers",
    "username": "xdevelopers"
  }
}
```

***

<div id="step-by-step-guide">
  ## Guide étape par étape
</div>

<Steps>
  <Step title="Récupérer votre Jeton Bearer">
    Dans la [Console de développement](https://console.x.com), accédez à votre App et copiez le Jeton Bearer.
  </Step>

  <Step title="Choisir un endpoint">
    Commencez avec l’un de ces endpoints simples pour débuter :

    | Endpoint                                             | Ce qu’il fait                                               |
    | :--------------------------------------------------- | :---------------------------------------------------------- |
    | [User lookup](/fr/x-api/users/lookup/introduction)   | Récupérer un profil utilisateur par nom d’utilisateur ou id |
    | [Post lookup](/fr/x-api/posts/lookup/introduction)   | Récupérer une Publication par id                            |
    | [Recent search](/fr/x-api/posts/search/introduction) | Rechercher des Publications des 7 derniers jours            |
  </Step>

  <Step title="Effectuer la requête">
    Utilisez cURL, Postman ou votre client HTTP préféré :

    ```bash theme={null}
    # Rechercher un utilisateur par nom d’utilisateur
    curl "https://api.x.com/2/users/by/username/xdevelopers" \
      -H "Authorization: Bearer $BEARER_TOKEN"
    ```
  </Step>

  <Step title="Analyser la réponse">
    Les réponses sont au format JSON. Les données principales se trouvent dans le champ `data` :

    ```json theme={null}
    {
      "data": {
        "id": "2244994945",
        "name": "X Developers",
        "username": "xdevelopers"
      }
    }
    ```
  </Step>
</Steps>

***

<div id="request-more-data-with-fields">
  ## Obtenir plus de données avec les champs
</div>

Par défaut, les endpoints renvoient un ensemble minimal de champs. Utilisez le paramètre de requête `fields` pour récupérer des données supplémentaires :

```bash theme={null}
curl "https://api.x.com/2/users/by/username/xdevelopers?user.fields=created_at,description,public_metrics" \
  -H "Authorization: Bearer $BEARER_TOKEN"
```

Réponse :

```json theme={null}
{
  "data": {
    "id": "2244994945",
    "name": "X Developers",
    "username": "xdevelopers",
    "created_at": "2013-12-14T04:35:55.000Z",
    "description": "La voix de la plateforme X Developer",
    "public_metrics": {
      "followers_count": 570842,
      "following_count": 2048,
      "tweet_count": 14052,
      "listed_count": 1672
    }
  }
}
```

[En savoir plus sur les champs →](/fr/x-api/fundamentals/fields)

***

<div id="more-examples">
  ## Autres exemples
</div>

<Tabs>
  <Tab title="Consulter une publication">
    ```bash theme={null}
    curl "https://api.x.com/2/tweets/1460323737035677698?tweet.fields=created_at,public_metrics" \
      -H "Authorization: Bearer $BEARER_TOKEN"
    ```
  </Tab>

  <Tab title="Rechercher des publications récentes">
    ```bash theme={null}
    curl "https://api.x.com/2/tweets/search/recent?query=from:xdevelopers&tweet.fields=created_at" \
      -H "Authorization: Bearer $BEARER_TOKEN"
    ```
  </Tab>

  <Tab title="Obtenir les publications d’un utilisateur">
    ```bash theme={null}
    curl "https://api.x.com/2/users/2244994945/tweets?max_results=5" \
      -H "Authorization: Bearer $BEARER_TOKEN"
    ```
  </Tab>
</Tabs>

***

<div id="using-code-instead-of-curl">
  ## Utiliser du code plutôt que cURL
</div>

<Tabs>
  <Tab title="Python">
    ```python theme={null}
    import requests

    bearer_token = "YOUR_BEARER_TOKEN"
    url = "https://api.x.com/2/users/by/username/xdevelopers"

    headers = {"Authorization": f"Bearer {bearer_token}"}
    response = requests.get(url, headers=headers)

    print(response.json())
    ```
  </Tab>

  <Tab title="JavaScript">
    ```javascript theme={null}
    const bearerToken = "YOUR_BEARER_TOKEN";
    const url = "https://api.x.com/2/users/by/username/xdevelopers";

    fetch(url, {
      headers: { Authorization: `Bearer ${bearerToken}` }
    })
      .then(res => res.json())
      .then(data => console.log(data));
    ```
  </Tab>

  <Tab title="SDK officiels">
    Pour un usage en production, nous recommandons d’utiliser les SDK officiels :

    * [SDK Python](/fr/xdks/python/overview)
    * [SDK TypeScript](/fr/xdks/typescript/overview)

    Ils gèrent automatiquement l’authentification, la pagination et la limitation de débit.
  </Tab>
</Tabs>

***

<div id="tools-for-testing">
  ## Outils de test
</div>

<CardGroup cols={3}>
  <Card title="Postman" icon="server" href="/fr/tutorials/postman-getting-started">
    Tests de l’API via une interface visuelle à l’aide de notre collection.
  </Card>

  <Card title="Exemples de code" icon="github" href="https://github.com/xdevplatform/Twitter-API-v2-sample-code">
    Exemples dans plusieurs langages de programmation.
  </Card>

  <Card title="Référence de l’API" icon="code" href="/fr/x-api/posts/lookup/introduction">
    Documentation complète des endpoints.
  </Card>
</CardGroup>

***

<div id="troubleshooting">
  ## Dépannage
</div>

<Accordion title="401 Non autorisé">
  * Vérifiez que votre Jeton Bearer est correct
  * Assurez-vous que le jeton n'a pas été régénéré
  * Vérifiez le format de l'en-tête `Authorization` : `Bearer YOUR_TOKEN`
</Accordion>

<Accordion title="403 Interdit">
  * Votre app n’a peut-être pas accès à ce point de terminaison
  * Certains points de terminaison nécessitent une authentification en contexte utilisateur (OAuth 1.0a ou 2.0)
  * Vérifiez les autorisations de votre app dans la Console de développement
</Accordion>

<Accordion title="429 Trop de requêtes">
  * Vous avez atteint une limite de taux de requêtes
  * Vérifiez l'en-tête `x-rate-limit-reset` pour savoir quand réessayer
  * Mettez en place une stratégie de backoff exponentiel dans votre code
</Accordion>

[Référence complète des erreurs →](/fr/x-api/fundamentals/response-codes-and-errors)

***

<div id="next-steps">
  ## Prochaines étapes
</div>

<CardGroup cols={2}>
  <Card title="Apprendre l’authentification" icon="key" href="/fr/resources/fundamentals/authentication/overview">
    Comprendre OAuth pour les requêtes en contexte utilisateur.
  </Card>

  <Card title="Explorer les endpoints" icon="compass" href="/fr/x-api/posts/search/introduction">
    Découvrez ce que vous pouvez créer.
  </Card>

  <Card title="Utiliser un SDK" icon="cube" href="/fr/xdks/overview">
    Accélérez votre développement avec les bibliothèques officielles.
  </Card>

  <Card title="Créer quelque chose" icon="hammer" href="/fr/x-api/what-to-build">
    Idées de projets à réaliser.
  </Card>
</CardGroup>
