Skip to main content

Comparaison des endpoints de recherche de Publications de X API

Les endpoints v2 de recherche de Publications remplacent les endpoints v1.1 standard GET statuses/lookup et GET statuses/show. Ce guide s’adresse aux développeurs qui migrent de ces anciennes versions vers X API v2.

Tableau de comparaison des endpoints

DescriptionStandard v1.1X API v2
HTTP methods supportedGETGET
Host domainhttps://api.x.comhttps://api.x.com
Endpoint path/1.1/statuses/show.json, /1.1/statuses/lookup.json/2/tweets
AuthenticationContexte utilisateur OAuth 1.0aContexte utilisateur OAuth 1.0a, OAuth 2.0 App-Only, Code d’autorisation OAuth 2.0 avec PKCE
Post JSON formatFormat Standard v1.1Format X API v2, déterminé par les paramètres fields et expansions (non rétrocompatible avec la v1.1)
Supports selecting specific fields
Supports the annotations fields
Supports new metrics fields
Supports conversation_id field
Provides Post edit history
Requires credentials from a developer App associated with a Project

Standard v1.1 comparé à X API v2

Si vous avez déjà travaillé avec les endpoints standard v1.1 GET statuses/show et GET statuses/lookup, ce guide vous aidera à comprendre les similitudes et les différences entre le standard et les endpoints de récupération de Publications de X API v2. Vous pourriez également être intéressé par notre outil visuel de migration de format de données, qui vous aide à visualiser rapidement les différences entre le format de données de X API v1.1 et le format de données de X API v2.
  • Similarités
    • 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
    • Conditions requises pour les Apps et les Projects
    • Format des données de la réponse
    • Paramètres de la requête

Points communs

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

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

Limites 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 un ensemble complet de 100 Publications, utilisez le paramètre ids dans la requête avec une liste d’ID de publication séparés par des virgules. Prise en charge de l’historique des modifications et des métadonnées des Publications Les deux versions fournissent des métadonnées décrivant tout historique de modification. Consultez les Références de l’API de recherche de Publications et la page de notions fondamentales sur la modification des Publications pour plus de détails.

Différences

URL des endpoints

  • Endpoints standard v1.1 :
    • https://api.x.com/1.1/statuses/show
    • https://api.x.com/1.1/statuses/lookup
  • Endpoint X API v2 :
    • https://api.x.com/2/tweets
    • https://api.x.com/2/tweets/:id

Conditions requises pour les Apps et les Projects

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

Format des données de réponse

Une différence importante entre les versions d’endpoints standard v1.1 et X API v2 réside dans la façon dont les champs sont sélectionnés dans la charge utile. 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, en revanche, ne fournit par défaut que les champs id et text de la Publication. Les champs et objets supplémentaires nécessitent l’utilisation des paramètres fields et expansions. Les champs ainsi étendus sont renvoyés dans un objet includes au sein de la réponse, qui peut être associé à l’objet Publication principal en faisant correspondre les identifiants. Pour en savoir plus sur l’utilisation des champs et des expansions, consultez le guide sur l’utilisation des champs et des expansions. Un guide de migration du format de données établit également la correspondance entre les champs standard v1.1 et les nouveaux champs v2. De plus, X API v2 introduit de nouveaux modèles JSON pour les objets, y compris les objets Publication et user :
  • Les endpoints standard renvoient des 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 charges utiles 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 indiquant 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 la fonctionnalité de champs et 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’ID 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é média si un texte alternatif est présent.
include_card_uriAjoute card_uri lorsqu’une carte publicitaire est associée.
mapRetourne l’ID de la Publication et le message d’erreur pour les Publications indisponibles dans X API v2, au lieu de champs définis à null dans la v1.1.

Requêtes cURL

Les requêtes cURL suivantes illustrent les endpoints standard de la v1.1 et leurs équivalents en v2. Remplacez ACCESS_TOKEN dans l’en-tête par le jeton d’accès de votre App. Pour les endpoints v2, le jeton doit appartenir à une developer App au sein d’un Project. Les payloads de réponse de la v1.1 diffèrent de ceux de la v2. Avec la v2, vous pouvez demander différents champs à l’aide des paramètres fields et expansions. Endpoints standard v1.1 GET statuses/lookup et v2 GET /tweets
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/lookup.json?id=1460323737035677698%2C1460323743339741184' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
  curl --request GET \
  --url 'https://api.x.com/2/tweets?ids=1460323737035677698%2C1460323743339741184&tweet.fields=created_at&expansions=author_id&user.fields=created_at' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
Points de terminaison standard de la v1.1 GET statuses/show/:id et de la v2 GET /tweets/:id
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/show.json?id=1460323737035677698' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
curl --request GET \
  --url 'https://api.x.com/2/tweets/1460323737035677698?tweet.fields=created_at&expansions=author_id&user.fields=created_at' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'