Timelines standard v1.1 vers timelines de X API v2
- 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)
- Authentification :
- 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
- Nouvelle option d’authentification :
Points communs
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.1 | X 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 |
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.1 | timelines v2 |
| since_id (exclusif) max_id (inclusif) | since_id (exclusif) until_id (également exclusif, contrairement à max_id qui était inclusif) |
| Standard timelines v1.1 | timelines 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
- Points de terminaison Standard v1.1 :
- Point de terminaison X API v2 :
| 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. |
| Timelines standard v1.1 | Timelines v2 |
| Requis : user_id ou screen_name | Requis : 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) |
| Standard search v1.1 | Search 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” |
- 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.
- 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
Exemples de code
Chronologie des Publications de l’utilisateur (v2)
cURL
Chronologie des mentions d’un utilisateur (v2)
cURL