Passer au contenu principal
Ce guide vous explique comment vous connecter au flux filtré afin de recevoir en temps réel les Publications correspondant à vos règles de filtrage.
PrérequisAvant de commencer, vous aurez besoin de :
  • D’un compte développeur
  • Du Jeton Bearer de votre App (disponible dans la Console de développement, sous « Keys and tokens »)

Créer une règle de filtrage

Les règles déterminent les Publications à recevoir. Utilisez des opérateurs pour filtrer selon des mots-clés, des hashtags, des utilisateurs, et plus encore.Exemple de règle : correspond aux Publications contenant « cat » avec des images :
cat has:images

Créer une règle

Découvrez la syntaxe des règles et les opérateurs

Ajoutez la règle à votre flux

Ajoutez votre règle à l’aide du point de terminaison rules. Incluez un tag pour identifier quelle règle correspond à chaque Publication :
cURL
curl -X POST "https://api.x.com/2/tweets/search/stream/rules" \
  -H "Authorization: Bearer $BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "add": [
      {"value": "cat has:images", "tag": "cats with images"}
    ]
  }'
Réponse :
{
  "data": [
    {
      "id": "1273026480692322304",
      "value": "cat has:images",
      "tag": "cats with images"
    }
  ],
  "meta": {
    "sent": "2024-01-15T10:30:00.000Z",
    "summary": {
      "created": 1,
      "not_created": 0,
      "valid": 1,
      "invalid": 0
    }
  }
}

Vérifiez vos règles

Répertoriez toutes les règles actives pour confirmer que votre règle a bien été ajoutée :
cURL
curl "https://api.x.com/2/tweets/search/stream/rules" \
  -H "Authorization: Bearer $BEARER_TOKEN"

Connexion au flux

Ouvrez une connexion persistante pour recevoir les Publications correspondantes :
cURL
curl "https://api.x.com/2/tweets/search/stream?\
tweet.fields=created_at,author_id&\
expansions=author_id&\
user.fields=username" \
  -H "Authorization: Bearer $BEARER_TOKEN"

Traiter les Publications entrantes

Flux des Publications correspondantes, sous forme d’objets JSON :
{
  "data": {
    "id": "1234567890",
    "text": "Look at this cute cat! 🐱",
    "author_id": "9876543210",
    "created_at": "2024-01-15T10:35:00.000Z",
    "edit_history_tweet_ids": ["1234567890"]
  },
  "includes": {
    "users": [
      {
        "id": "9876543210",
        "username": "catperson"
      }
    ]
  },
  "matching_rules": [
    {
      "id": "1273026480692322304",
      "tag": "cats with images"
    }
  ]
}
Le tableau matching_rules indique quelles règles se sont appliquées à la Publication, en utilisant les tags que vous avez définis.

Supprimer des règles (facultatif)

Supprimer des règles par ID :
cURL
curl -X POST "https://api.x.com/2/tweets/search/stream/rules" \
  -H "Authorization: Bearer $BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "delete": {
      "ids": ["1273026480692322304"]
    }
  }'

Gestion de votre connexion

Le flux envoie des lignes vides (\r\n) toutes les 20 secondes. Si vous ne recevez aucune donnée ni de signal keep-alive pendant 20 secondes, reconnectez-vous.
Appuyez sur Ctrl+C pour fermer la connexion, ou fermez votre fenêtre de terminal.
Une seule connexion par App est autorisée. L’ouverture d’une nouvelle connexion mettra fin à toute connexion existante.

Prochaines étapes

Créer une règle

Découvrir la syntaxe des règles

Référence des opérateurs

Tous les opérateurs disponibles

Gestion des déconnexions

Se reconnecter en douceur

Référence de l’API

Documentation complète du point de terminaison