Passer au contenu principal
Les endpoints de la X API v2 sont dotés d’un ensemble de paramètres appelés fields, qui vous permettent de sélectionner uniquement les données souhaitées pour chacun des objets dans la réponse de votre endpoint. Par défaut, l’objet Post ne renvoie que les champs id et text, et, pour les Posts créés depuis le 29 septembre 2022, le champ edit_history_tweet_ids. Si vous avez besoin de la date de création du Post ou de métriques publiques, vous devez utiliser le paramètre tweet.fields pour les demander. Cela offre un degré de personnalisation plus élevé en vous permettant de ne demander que les fields nécessaires selon votre cas d’usage. Par exemple, vous incluriez cette chaîne de requête dans votre appel : ?tweet.fields=created_at,public_metrics Chaque objet possède son propre paramètre permettant de demander spécifiquement les champs associés à cet objet. Voici les différents paramètres de fields actuellement disponibles :
  • Posttweet.fields
  • Useruser.fields
  • Mediamedia.fields
  • Pollpoll.fields
  • Placeplace.fields
Lorsque vous utilisez un endpoint qui renvoie principalement un objet particulier, utilisez simplement le paramètre de field correspondant et indiquez le ou les field(s) souhaité(s) dans une liste séparée par des virgules comme valeur de ce paramètre afin de récupérer ces champs dans la réponse.

Exemple

Si vous utilisez l’endpoint GET /tweets/search/recent, la réponse contiendra principalement des objets Tweet. Sans préciser de paramètres fields, vous ne recevrez que les valeurs par défaut, id et text. Si vous souhaitez obtenir les métriques publiques des Posts renvoyés dans la réponse, ajoutez le paramètre tweet.fields à votre requête avec public_metrics comme valeur. Cette requête se présenterait comme suit. Si vous souhaitez l’utiliser, veillez à remplacer $BEARER_TOKEN par votre Jeton Bearer et à l’envoyer à l’aide de votre outil en ligne de commande.
curl --request GET \
  --url 'https://api.x.com/2/tweets/search/recent?query=from%3Atwitterdev&tweet.fields=public_metrics' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Si vous envoyez cette requête dans votre terminal, chacun des Posts renvoyés inclura les fields suivants :
{
   "data": {
       "id": "1263150595717730305",
       "public_metrics": {
           "retweet_count": 12,
           "reply_count": 14,
           "like_count": 49,
           "quote_count": 7
       },
       "text": "Vous avez vu 👀 nos nouveaux paramètres de Tweet ?\n\nNous voulons savoir comment et pourquoi vous utiliseriez une telle fonctionnalité dans l’API. Consultez les détails et dites‑nous ce que vous en pensez 👇\nhttps://t.co/RtMhhfAcIB https://t.co/8wxeZ9fJER"
   }
}
Si vous souhaitez récupérer un ensemble de champs d’un objet secondaire associé à l’objet principal renvoyé par un endpoint, vous devez ajouter un paramètre expansions supplémentaire. Par exemple, si vous utilisez le même endpoint GET search/tweets/recent que précédemment et que vous souhaitez récupérer la description du profil de l’auteur, vous devez transmettre expansions=author_id et user.fields=description dans votre requête. Voici un exemple de ce à quoi cela peut ressembler. Si vous souhaitez essayer cette requête, veillez à remplacer $BEARER_TOKEN par votre Jeton Bearer avant de le coller dans votre outil en ligne de commande.
  curl --request GET \
  --url 'https://api.x.com/2/tweets/search/recent?query=from%3Atwitterdev&tweet.fields=public_metrics&expansions=author_id&user.fields=description' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Si vous le spécifiez dans la requête, chacun des Posts délivrés comportera les champs suivants, et les champs par défaut et ceux spécifiés de l’objet utilisateur seront renvoyés dans includes. L’objet utilisateur peut être mis en correspondance avec le(s) Post(s) concerné(s) en faisant correspondre les champs tweet.author_id et users.id.
{
  "data": [
    {
      "id": "1263150595717730305",
      "author_id": "2244994945",
      "text": "Vous avez vu 👀 nos nouveaux paramètres de Tweet ?\n\nNous voulons savoir comment et pourquoi vous utiliseriez une fonctionnalité comme celle‑ci dans l’API. Consultez les détails et dites‑nous ce que vous en pensez 👇\nhttps://t.co/RtMhhfAcIB https://t.co/8wxeZ9fJER",
      "public_metrics": {
        "retweet_count": 12,
        "reply_count": 13,
        "like_count": 51,
        "quote_count": 7
      }
    }
  ],
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "username": "TwitterDev",
        "description": "La voix de l’équipe #TwitterDev et votre source officielle pour les mises à jour, les actualités et les événements liés à la #TwitterAPI.",
        "name": "Twitter Dev"
      }
    ]
  }
}
Gardez à l’esprit que vous ne pouvez pas demander de sous‑champs spécifiques (par exemple, public_metrics.retweet_count). Tous les sous‑champs seront renvoyés lorsque le champ de niveau supérieur (public_metrics) est indiqué. Nous avons répertorié tous les champs possibles que vous pouvez demander dans le tableau des paramètres de la page de référence de l’API de chaque endpoint. La liste complète des fields figure dans le modèle d’objet. Pour inclure et demander des fields sur un objet qui n’est pas la ressource principale de cet endpoint, utilisez le paramètre expansions avec fields.
I