Skip to main content

Standard v1.1 par rapport à X API v2

Si vous avez travaillé avec les endpoints GET statuses/show et GET statuses/lookup du standard v1.1, ce guide vous aidera à comprendre les similitudes et les différences entre les endpoints de récupération de Publications du standard et ceux de X API v2. Vous pouvez également consulter notre outil visuel de migration des formats de données pour voir rapidement les différences entre le format de données X API v1.1 et le format de données X API v2.
  • Similitudes
    • Contexte utilisateur OAuth 1.0a
    • Limites du nombre de Publications par requête
    • Prise en charge de l’historique des modifications des Publications et des métadonnées
  • Différences
    • URL des endpoints
    • Exigences relatives aux App et aux Projets
    • Format des données de réponse
    • Paramètres de requête

Points communs

Méthode d’authentification en contexte utilisateur OAuth 1.0a

L’endpoint standard prend en charge OAuth 1.0a User Context, tandis que le nouvel endpoint de recherche de Publications de X API v2 prend en charge à la fois OAuth 1.0a User Context et OAuth 2.0 App-Only. Par conséquent, si vous utilisiez auparavant l’un des endpoints standard v1.1 de recherche de Publications, vous pouvez continuer à utiliser la même méthode d’authentification si vous migrez vers la version X API v2. L’authentification App-Only est probablement le moyen le plus simple de démarrer. Pour savoir comment générer un App Access Token, consultez ce guide OAuth 2.0 App-only.

Limites du nombre de Publications par requête

L’endpoint v1.1 GET statuses/lookup vous permet de spécifier jusqu’à 100 Publications par requête. Cela s’applique également à l’endpoint GET /tweets. Pour spécifier 100 Publications complètes, utilisez le paramètre ids comme paramètre de requête avec une liste séparée par des virgules d’identifiants de Publication. Prise en charge de l’historique de modification des Publications et des métadonnées Les deux versions fournissent des métadonnées qui décrivent tout historique de modification. Consultez les pages de Référence de l’API pour la recherche de Publications et la page sur les principes de base de la modification des Publications pour plus de détails.

Différences

URL des points de terminaison

  • Points de terminaison standard v1.1 :
    • https://api.x.com/1.1/statuses/show
    • https://api.x.com/1.1/statuses/lookup
  • Point de terminaison X API v2 :
    • https://api.x.com/2/tweets
    • https://api.x.com/2/tweets/:id

Exigences relatives aux Apps et aux Projects

Les endpoints de X API v2 nécessitent, pour l’authentification, des identifiants issus d’une App développeur associée à un Project. Les endpoints de X API v1.1 peuvent utiliser des identifiants issus d’Apps, ou d’Apps associées à une App.

Format des données de réponse

Une différence importante entre la version standard v1.1 et les versions des endpoints de X API v2 est la façon dont les champs sont sélectionnés dans le corps de la réponse. Pour les endpoints standard, de nombreux champs de réponse sont inclus par défaut, avec la possibilité d’utiliser des paramètres pour spécifier des champs supplémentaires. X API v2, cependant, ne fournit par défaut que les champs id et text de la Publication. Des champs et objets supplémentaires nécessitent l’utilisation des paramètres champs et expansions. Les champs étendus sont renvoyés dans un objet includes au sein de la réponse, qui peut être rattaché à l’objet Publication principal en faisant correspondre les id. Pour en savoir plus sur l’utilisation des champs et des expansions, consultez le guide d’utilisation des champs et des expansions. Un guide de migration du format de données établit également la correspondance entre les champs de la version standard v1.1 et les nouveaux champs v2. En outre, X API v2 introduit de nouvelles structures JSON pour les objets, y compris les objets Publication et user :
  • Les endpoints standard renvoient les objets Publication dans un tableau statuses, tandis que X API v2 utilise un tableau data.
  • Les Tweets retweetés et cités dans X API v2 remplacent la terminologie « statuses ».
  • Une nouvelle terminologie telle que like remplace des termes comme favorites et favourites.
  • Les attributs sans valeur (par exemple, null) ne sont pas inclus dans les corps de réponse de X API v2.
L’objet Publication dans X API v2 inclut de nouveaux champs tels que :
  • conversation_id
  • Deux nouveaux champs annotations (context et entities)
  • De nouveaux champs metrics
  • Le champ reply_setting, qui indique qui peut répondre à une Publication donnée

Paramètres de requête

Les paramètres de requête standard de la v1.1 suivants ont des équivalents dans X API v2 :
StandardX API v2
idids
Certains paramètres standard de la v1.1 ne sont pas pris en charge dans X API v2 :
StandardComment
tweet_modeRemplacé par l’utilisation des champs et de la fonctionnalité d’expansions.
trim_userRemplacé par les champs et les expansions. Utilisez l’expansion author_id et user.fields pour les données utilisateur.
include_my_retweetFournit l’identifiant de la Publication source pour les Publications retweetées par l’utilisateur authentifié.
include_entitiesUtilisez les champs et les expansions pour contrôler les entités dans la charge utile.
include_ext_alt_textAjoute le champ ext_alt_text dans l’entité de média si un texte alternatif est présent.
include_card_uriAjoute card_uri lorsqu’une carte publicitaire est jointe.
mapRenvoie l’identifiant de la Publication et le message d’erreur pour les Publications indisponibles dans X API v2, au lieu de champs mis à null en v1.1.

Exemples de code

Les exemples suivants montrent les endpoints standard v1.1 et leurs équivalents v2. Remplacez les informations d’authentification par vos propres jetons. Pour les endpoints v2, le jeton doit appartenir à une App développeur au sein d’un Project. Les payloads de réponse de v1.1 seront différents de ceux de v2. Avec v2, vous pouvez demander différents champs avec les paramètres fields et expansions. Récupération de plusieurs Publications : v1.1 GET statuses/lookup → v2 GET /tweets
cURL (v1.1)
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/lookup.json?id=1460323737035677698%2C1460323743339741184' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
Récupération d’une Publication unique : v1.1 GET statuses/show/:id → v2 GET /tweets/:id
cURL (v1.1)
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/show.json?id=1460323737035677698' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'