Skip to main content

Introduction

Avec le lancement de la version v2 de la X API, nous avons adopté un nouveau format de réponse de données et une nouvelle méthode pour demander différents objets et champs, que nous appelons simplement le format X API v2.  Dans la section sur les différences générales, vous pouvez découvrir certains changements pertinents pour les utilisateurs standard et entreprise. Cependant, nous avons également préparé un guide spécifique pour le format natif standard v1.1, le format Native Enriched pour l’entreprise et le format Activity Streams pour l’entreprise, qui aide à établir la correspondance entre les champs et explique quels champs et expansions vous devez utiliser pour récupérer les nouveaux champs v2.  Vous serez peut‑être également intéressé par notre outil visuel de migration de format de données, qui vous aide à voir rapidement les différences entre le format de données X API v1.1 et le format X API v2.

Différences générales

Requête d’objets et de champs

L’une des plus grandes différences entre les endpoints antérieurs à la v2 et la v2 est que la nouvelle version ne renvoie que quelques champs par défaut, alors que les endpoints Standard, Premium et Enterprise renvoient la plupart des champs par défaut. La nouvelle version utilise des paramètres appelés fields et expansions pour demander explicitement des données supplémentaires au‑delà des valeurs par défaut, ce qui signifie que vous pouvez demander uniquement les données dont vous avez besoin sans avoir à ingérer des champs qui ne vous intéressent pas.  Tous les champs que vous demandez et qui concernent l’objet de données principal seront renvoyés dans cet objet principal, en plus des valeurs par défaut. Toutefois, si vous demandez des objets étendus à l’aide du paramètre expansions, les objets secondaires seront renvoyés dans un nouvel objet includes. Vous pouvez faire correspondre les objets étendus dans l’objet includes à l’objet principal en utilisant le champ id, qui sera renvoyé dans les deux. Par exemple, si vous utilisez l’endpoint v2 Post lookup et que vous incluez le paramètre expansions=author_id dans votre requête, vous recevrez le champ author_id dans l’objet Publication principal, ainsi qu’un objet user par Publication dans l’objet includes, chacun incluant le champ par défaut id qui peut être utilisé pour faire correspondre l’objet user à l’objet Publication. Voici un exemple du résultat :

Conception JSON mise à jour

En plus des changements concernant la façon de demander certains champs, X API v2 introduit également de nouvelles conceptions JSON pour les objets renvoyés par les API, y compris les objets Publication et utilisateur.
  • 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 » retweetés et cités, le JSON de X API v2 fait référence à des Tweets retweetés et cités. 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 favourites (dans l’objet utilisateur), X API v2 utilise le terme like. 
  • X adopte la convention selon laquelle les valeurs JSON vides (par exemple, null) ne sont pas écrites dans la charge utile. Les attributs de Publication et d’utilisateur ne sont inclus que s’ils ont des valeurs non nulles.   

Nouveaux champs v2

Nous avons également introduit un nouvel ensemble de champs pour l’objet Publication, comprenant les éléments suivants :
  • Un champ conversation_id
  • Deux nouveaux champs annotations, dont context et entities
  • Plusieurs nouveaux champs metrics
  • Un nouveau champ reply_setting, qui indique qui est autorisé à répondre à une Publication donnée

Migration du format de données standard v1.1 vers v2

Si ce n’est pas déjà fait, nous vous recommandons de commencer par lire l’introduction à la migration des formats de données. Vous pouvez é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 X API v1.1 et le format X API v2. Le format de données standard v1.1, également appelé format natif, est le format principal fourni avec les endpoints standard v1.1. Si vous utilisez le produit Premium, veuillez vous référer au guide sur le format natif enrichi. Les clients Enterprise peuvent utiliser soit le format natif enrichi, soit les flux d’activité, en fonction de leur configuration dans la console Gnip. 

Structure de payload standard v1.1 vs v2

Le tableau suivant présente les objets de haut niveau et le format auxquels vous pouvez vous attendre avec la v2 par rapport au format v1.1. Correspondance des champs La section suivante décrit quels champs v1.1 se correspondent avec les champs v2, ainsi que les paramètres v2 requis pour recevoir le nouveau champ.  

Objet Tweet

Exemple

Objet User

Exemple

Objets entities et expanded entities

Exemple

Objet Place

Exemple Étape suivante

Migration du format de données Native Enriched vers la v2

Le format de données Native Enriched est utilisé par nos produits enterprise. Le format de données Native Enriched a été mis à jour pour fournir des métadonnées relatives aux Tweets modifiés. Pour en savoir plus sur les métadonnées d’édition de Tweets, consultez la page Principes fondamentaux de l’édition de Tweets. Si vous utilisez les endpoints standard v1.1, veuillez vous référer au guide de migration de la version standard v1.1 vers la v2. Si vous utilisez les produits enterprise avec Activity Streams, nous proposons également un guide Activity Streams vers v2. X API v2 introduit de nouveaux schémas JSON pour les objets Tweet et user.
  • Au niveau racine du JSON, le format Native Enriched renvoie les objets Tweet dans un tableau results, tandis que X API v2 renvoie un tableau data. 
  • Au lieu d’utiliser à la fois favorites (dans l’objet Tweet) et favourites (dans l’objet user), X API v2 utilise le terme like. 
  • X adopte la convention selon laquelle les valeurs JSON vides (par exemple null) ne sont pas écrites dans la charge utile. Les attributs de Tweet et de user ne sont inclus que s’ils ont des valeurs non null. 
  • Tous les champs id en v2 seront au format chaîne de caractères  
En plus des modifications apportées au nouveau format JSON, nous avons également introduit un nouvel ensemble de champs dans l’objet Tweet, notamment les suivants :
  • conversation_id
  • reply_settings
  • alt_text sur les médias
  • Deux nouveaux champs annotations, notamment context et entities
  • Plusieurs nouveaux champs metrics
  • Plusieurs nouveaux champs polls  
De nombreux champs hérités et obsolètes sont supprimés :
  • contributors
  • Certains champs entities.media et extended_entities.media
  • filter_level
  • timestamp_ms
  • truncated

Structure de payload Native Enriched vs v2

Le tableau suivant présente les objets de haut niveau et le format que vous recevrez avec v2 par rapport au format Native Enriched. Mappage des champs La section suivante décrit quels champs Native Enriched correspondent à des champs v2, ainsi que les paramètres v2 requis pour recevoir ces nouveaux champs.  

Objet Tweet

Objet User

Objets entities et expanded entities

Objet Place

Objet de sondage

Migration du format de données Activity Streams vers la v2

Le format de données Activity Streams est disponible avec nos produits enterprise. Le format de données Activity Streams a été mis à jour pour fournir des métadonnées de Tweet modifié. Pour en savoir plus sur les métadonnées de Tweet modifié, consultez la page Principes de base des Tweets modifiés. Si vous utilisez les endpoints standard v1.1, reportez-vous au guide de migration standard v1.1 vers v2. Si vous utilisez les endpoints premium ou le format Native Enriched pour enterprise, reportez-vous au guide Native Enriched vers v2. X API v2 introduit de nouveaux modèles JSON pour les objets Publication et utilisateur.
  • Au niveau racine du JSON, le format Activity Streams renvoie les objets Tweet dans un tableau results, tandis que X API v2 renvoie un tableau data. 
  • Au lieu de faire référence à des « activités » Retweeted et Quoted, le JSON de X API v2 fait référence à des Tweets Retweeted et Quoted. 
  • Au lieu d’utiliser à la fois favorites (dans l’objet Tweet) et favourites (dans l’objet user), X API v2 utilise le terme like. 
  • Twitter adopte la convention selon laquelle les valeurs JSON sans valeur (par exemple null) ne sont pas incluses dans la charge utile. Les attributs de Tweet et de user ne sont inclus que s’ils ont des valeurs non null. 
  • Tous les champs id en v2 seront au format chaîne de caractères.  
En plus des modifications apportées au nouveau format JSON, nous avons également introduit un nouvel ensemble de champs dans l’objet Tweet, notamment les suivants :
  • conversation_id
  • reply_settings
  • alt_text sur les médias
  • Deux nouveaux champs annotations, notamment context et entities
  • Plusieurs nouveaux champs metrics
  • Plusieurs nouveaux champs polls  
De nombreux champs hérités et obsolètes sont supprimés ou remplacés :
  • display_text_range
  • generator
  • gnip
  • link
  • objectType
  • provider
  • twitter_entities.symbols remplacé par data.entities.cashtags
  • Certains champs twitter_extended_entities.media et twitter_entities.media
  • twitter_filter_level
  • twitterTimeZone
  • verb

Objet Tweet

Objet utilisateur

Objet Poll

Objet Place

Objet média

Objet matching_rules

Outil visuel de migration de format de données

L’outil visuel de migration de format de données est une application web qui affiche les champs qui font correspondre le format de données X API v1.1 au format X API v2 pour un objet Tweet ou utilisateur donné. Vous pouvez fournir un ID de Tweet ou un ID d’utilisateur à l’application pour voir cette correspondance. Veuillez noter que vous devrez vous connecter avec votre compte Twitter afin d’utiliser l’application.