Skip to main content

Timelines standard v1.1 vers timelines de X API v2

Si vous avez travaillé avec les endpoints de timeline v1.1 (statuses/user_timeline et statuses/mentions_timeline), l’objectif de ce guide est de vous aider à comprendre les similitudes et les différences entre les endpoints de timeline standard et ceux de X API v2 afin que vous puissiez migrer votre intégration actuelle vers la nouvelle version.
  • Similarités :
    • Authentification :
      • OAuth 1.0a en contexte utilisateur (timeline d’accueil en ordre chronologique inverse, timeline des Publications de l’utilisateur et timeline des mentions de l’utilisateur)
      • OAuth 2.0 App-Only (timeline des Publications de l’utilisateur)
    • Limite d’accès historique : la timeline de l’utilisateur (timeline des Publications de l’utilisateur) donne accès aux 3 200 Publications les plus récentes ; la timeline des mentions (timeline des mentions de l’utilisateur) donne accès aux 800 mentions les plus récentes.
    • Prise en charge de l’historique de modification des Publications et des métadonnées
    • Limites de taux (timeline des Publications de l’utilisateur)
    • Rafraîchissement par interrogation (polling) : possibilité de récupérer les nouveaux résultats depuis le since_id
    • Parcours des timelines par ID de Publication
    • Spécifications des résultats :
      • Ordre des résultats : résultats renvoyés dans l’ordre chronologique inverse
      • Possibilité d’exclure les réponses (timeline des Publications de l’utilisateur uniquement)
      • Possibilité d’exclure les Retweets (timeline des Publications de l’utilisateur uniquement)
  • Différences
    • Nouvelle option d’authentification :
      • OAuth 2.0 App-Only (timeline des mentions de l’utilisateur)
      • OAuth 2.0 Authorization Code Flow avec PKCE (timeline d’accueil en ordre chronologique inverse, timeline des Publications de l’utilisateur et timeline des mentions de l’utilisateur)
    • Exigences d’accès : exigences relatives aux App et Project X API v2
    • Limites de taux (timeline des mentions de l’utilisateur et timeline d’accueil en ordre chronologique inverse)
    • Méthode de pagination supplémentaire
      • max_results (count) différent par réponse
    • Format des données de réponse
    • Paramètres de requête
      • Format de données personnalisé en fonction des paramètres de requête, y compris les champs v2 et expansions
      • Données supplémentaires disponibles : métriques, annotations de Publication, sondages

Points communs

Authentification Les endpoints v1.1 statuses/user_timeline et l’endpoint X API v2 de chronologie des Publications d’un utilisateur prennent tous deux en charge OAuth 1.0a User Context et OAuth 2.0 App-Only. Vous pouvez donc continuer à utiliser la même méthode d’authentification et les mêmes jetons d’autorisation si vous migrez vers la version X API v2. Accès historique Les endpoints v1.1 statuses/user_timeline et l’endpoint X API v2 de chronologie des Publications d’un utilisateur renverront tous deux les 3 200 Publications les plus récentes, y compris les retweets. Les endpoints v1.1 statuses/mentions_timeline et X API v2 de chronologie des mentions d’un utilisateur peuvent renvoyer les 800 Publications les plus récentes. Prise en charge de l’historique de modification des Publications et des métadonnées Les deux versions fournissent des métadonnées décrivant tout historique de modification. Consultez la Référence de l’API du flux filtré et la page de principes de base sur la modification des Publications pour plus de détails. Limites de taux
Standard v1.1X API v2
user_timeline :

900 requêtes par 15 minutes avec OAuth 1.0a User Context

1500 requêtes par 15 minutes avec OAuth 2.0 App-Only
Chronologie des Publications d’un utilisateur :

900 requêtes par fenêtre de 15 minutes avec OAuth 1.0a User Context

1500 requêtes par fenêtre de 15 minutes avec OAuth 2.0 App-Only
Actualisation par polling avec since_id Les deux versions permettent d’effectuer un polling pour les résultats récents en utilisant since_id. Parcours des chronologies par ID de Publication Les deux endpoints peuvent parcourir les chronologies en utilisant les « horodatages » des ID de Publication, en fonction de la manière dont les ID de Publication sont construits. La fonctionnalité est globalement la même, à l’exception de ce qui suit :
Standard timelines v1.1timelines v2
since_id (exclusif)

max_id (inclusif)
since_id (exclusif)

until_id (également exclusif, contrairement à max_id qui était inclusif)
Paramètres de filtrage de la réponse
Standard timelines v1.1timelines v2
Paramètres de filtrage de la réponse :

* include_rts
* exclude_replies
Paramètres de filtrage de la réponse :

* exclude=retweets,replies
Exemple :

https://api.x.com/1.1/statuses/user_timeline.json?user_id=2244994945&include_rts=0&&exclude_replies=1
Exemple :

https://api.x.com/2/users/2244994945/tweets?max_results=100&exclude=retweets,replies
Remarques :

Pour user_timeline :

* L’utilisation de include_rts=0 ne modifie pas la limite historique possible des 3 200 Publications les plus récentes
Remarques :

Pour la chronologie des Publications d’un utilisateur :

* L’utilisation de exclude=retweets ne modifie pas la limite historique possible des 3 200 Publications les plus récentes
* L’utilisation de exclude=replies réduit la limite historique possible aux 800 réponses les plus récentes

Differences

Authentification **Le point de terminaison v1.1 statuses/mentions_timeline ne prend en charge que le contexte utilisateur OAuth 1.0a. Le point de terminaison de timeline des mentions utilisateur de X API v2 prend en charge à la fois le contexte utilisateur OAuth 1.0a, OAuth 2.0 App-Only, et OAuth 2.0 Authorization Code with PKCE ** Si vous souhaitez profiter de la possibilité d’accéder à des métriques privées ou sponsorisées à l’aide du point de terminaison de timeline des Publications utilisateur de X API v2, vous devrez utiliser le contexte utilisateur OAuth 1.0a ou OAuth 2.0 Authorization Code with PKCE, et transmettre les jetons d’accès utilisateur liés à l’utilisateur qui a publié la Publication pour laquelle vous souhaitez accéder aux métriques. URLs de points de terminaison Notez que les points de terminaison de timelines de X API v2 nécessitent un paramètre de chemin :id pour l’identifiant utilisateur. Exigences relatives aux App et aux Project Les points de terminaison de X API v2 exigent que vous utilisiez des identifiants issus d’une developer App qui est associée à un Project lors de l’authentification de vos requêtes. Tous les points de terminaison de X API v1.1 peuvent utiliser des identifiants provenant d’App, qu’elles soient ou non associées à un Project. Limites de taux
mentions_timeline :

75 requêtes par tranche de 15 minutes avec le contexte utilisateur OAuth 1.0a
user mention timeline :

180 requêtes par fenêtre de 15 minutes avec le contexte utilisateur OAuth 1.0a
450 requêtes par fenêtre de 15 minutes avec un Jeton Bearer OAuth 2.0
home_timelime :

15 requêtes par tranche de 15 minutes

Jusqu’à 800 Publications peuvent être obtenues sur la timeline d’accueil
reverse chronological home timeline :

180 requêtes par tranche de 15 minutes

Vous pouvez renvoyer chaque Publication créée sur une timeline au cours des 7 derniers jours, ainsi que les 800 plus récentes, quelle que soit leur date de création.
Paramètres de requête
Timelines standard v1.1Timelines v2
Requis : user_id ou screen_nameRequis : l’ID utilisateur spécifique est indiqué dans le paramètre de chemin (path)
Facultatif :

count - définit le nombre maximal de résultats renvoyés par requête

exclude_replies - supprime les réponses des résultats

include_rts - lorsqu’il est défini sur 0, supprime les retweets des résultats

trim_user - supprime des résultats les objets utilisateur réhydratés

tweet_mode - définit le format des données renvoyées ; à définir sur extended pour les Publications de plus de 140 caractères

since_id - définit l’ID de Publication le plus ancien dans le résultat (exclusif)

max_id - définit l’ID de Publication le plus récent dans le résultat (inclusif)
Facultatif :

max_results - définit le nombre maximal de résultats renvoyés par requête

exclude=retweets,replies - supprime les Retweets ou les réponses des résultats

tweet.fields - définit les champs de l’objet Publication à renvoyer

user.fields - définit les champs de l’objet utilisateur à renvoyer

place.fields - définit les champs de l’objet lieu à renvoyer

media.fields - définit les champs de l’objet média à renvoyer

poll.fields - définit les champs de l’objet sondage à renvoyer

expansions - définit les champs et données développés à renvoyer

start_time - définit la valeur created_at la plus ancienne pour les résultats

end_time - définit la valeur created_at la plus récente pour les résultats

since_id - définit l’ID de Publication le plus ancien pour les résultats (exclusif)

until_id - définit l’ID de Publication le plus récent dans le résultat (exclusif)
Format des données de réponse
Standard search v1.1Search Publications v2
[
tweet object,
tweet object
]

“data”: [id,text,id,text],
“meta”:
“oldest_id”: “1337085692623646724”,
“newest_id”: “1334183616172019713”,
“previous_token”: “77qpymm88g5h9vqkluldpw91lr0qzfz1sqydh841iz48k”,
“result_count”: 10,
“next_token”: “7140dibdnow9c7btw3w29gqolns6a1ipl3kzeae41vsxk”

Format JSON de X API v2 X API v2 introduit de nouvelles structures JSON pour les objets renvoyés par les API, notamment les objets Publication et utilisateur. Vous pouvez en savoir plus sur le format X API v2, ainsi que sur la manière d’utiliser les champs et les expansions en consultant notre guide et notre dictionnaire de données.
  • Au niveau racine du JSON, les endpoints standard renvoient les objets Publication dans un tableau statuses, tandis que X API v2 renvoie un tableau data.
  • Au lieu de faire référence à des “statuses” Retweeted et Quoted, le JSON de X API v2 fait référence à des Tweets Retweeted et Quoted. De nombreux champs hérités et obsolètes, tels que contributors et user.translator_type, sont supprimés.
  • Au lieu d’utiliser à la fois favorites (dans l’objet Publication) et favorites (dans l’objet utilisateur), X API v2 utilise le terme like.
  • X adopte la convention selon laquelle les valeurs JSON sans contenu (par exemple null) ne sont pas incluses dans le corps de la réponse. Les attributs de Publication et d’utilisateur ne sont inclus que s’ils ont une valeur non nulle.
L’une des plus grandes différences entre les versions d’endpoints standard v1.1 et X API v2 est la manière dont vous sélectionnez les champs renvoyés dans le corps de votre réponse. Pour les endpoints standard, il existe plusieurs paramètres que vous pouvez utiliser pour identifier quels champs ou ensembles de champs seront renvoyés dans le corps de la réponse, tandis que la version X API v2 simplifie ces différents paramètres en champs et expansions.
  • fields : les endpoints de X API v2 vous permettent de sélectionner les champs à inclure dans votre payload. Par exemple, les objets Publication, utilisateur, Media, Place et Poll disposent tous d’une liste de champs qui peuvent être renvoyés (ou non).
  • expansions : permet d’étendre les objets complémentaires référencés dans les payloads JSON de Publications. Par exemple, tous les Retweets et toutes les réponses référencent d’autres Publications. En définissant expansions=referenced_tweets.id, ces autres objets Publication sont étendus en fonction du paramètre tweet.fields. D’autres objets comme les utilisateurs, sondages et médias peuvent être étendus.
  • conversation_id
  • Deux nouveaux champs annotations, notamment context et entities
  • Plusieurs nouveaux champs metrics
Nous avons préparé un guide de migration du format de données qui peut vous aider à faire correspondre les champs de la version standard v1.1 aux nouveaux champs de la v2. Ce guide vous fournira également les paramètres d’expansion et de champ spécifiques que vous devrez transmettre avec votre requête v2 pour renvoyer des champs précis.

Exemples de code

Chronologie des Publications de l’utilisateur (v2)

cURL
curl "https://api.x.com/2/users/2244994945/tweets?max_results=100&tweet.fields=created_at,public_metrics&exclude=retweets,replies" \
  -H "Authorization: Bearer $BEARER_TOKEN"

Chronologie des mentions d’un utilisateur (v2)

cURL
curl "https://api.x.com/2/users/2244994945/mentions?max_results=100&tweet.fields=created_at,author_id" \
  -H "Authorization: Bearer $BEARER_TOKEN"
Étapes suivantes Consultez notre guide de démarrage rapide pour la récupération de Publications avec X API v2 Consultez la Référence de l’API pour la récupération de Publications en v2 Découvrez notre code d’exemple pour les endpoints de chronologies