Passer au contenu principal

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 :
{
  "data": [
    {
      "author_id": "2244994945",
      "id": "1397568983931392004",
      "text": "The Twitter Developer Platform. Ooh la la! https://t.co/iGTdPXBfOv https://t.co/Ze8z8EODdg"
    }
  ],
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "name": "Twitter Dev",
        "username": "TwitterDev"
      }
    ]
  }
}

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.
Structure v1.1Structure v2
Par défaut{
all tweet object fields,
“entities”: {
“hashtags”: [],
“symbols”: [],
“user_mentions”: [],
“urls”: [],
“media”: []
},
“extended_entities”: ,
“user”: ,
“place”: ,
“retweeted_status/quoted_status”
}
{
“data”: [{
“id”,
“text”,

“edit_history_tweet_ids”
}]
}
Avec des paramètres champs et expansions définis{
“data”: [{
tweet object fields,
“entities”: {
“hashtags”: [],
“cashtags”: [],
“mentions”: [],
“urls”: [],
},
“attachments”: {

“media_keys”: [],

“poll_ids”: []

}
}],
“includes”: [
“tweets”: [tweet objects],
“users”: [user objects],
“media”: [media objects],
“places”: [place object],

“polls”: [poll object]
],

“matching_rules”: []
}
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

Format Twitter 1.1Format Twitter v2Paramètres v2 requis
created_atdata.created_attweet.fields=created_at
idN/A l’id est une chaîne de caractères
id_strdata.idpar défaut
textdata.textpar défaut
full_textN/A text inclut le texte complet
truncatedN/A text inclut le texte complet
display_text_rangeN/A text inclut le texte complet
edit_historydata.edit_history_tweet_idspar défaut
edit_controlsdata.edit_controlstweet.fields=edit_controls
editabledata.edit_controls.is_edit_eligibletweet.fields=edit_controls
entitiesdata.entitiestweet.fields=entities
entities.user_mentionsdata.entities.mentionstweet.fields=entities
entities.symbolsdata.entities.cashtagstweet.fields=entities
entities.hashtagsdata.entities.hashtagstweet.fields=entities
entities.urlsdata.entities.urlstweet.fields=entities
entities.mediaincludes.mediaexpansions=attachments.media_keys
extended_entitiesdata.attachmentstweet_fields=attachments
in_reply_to_status_idN/A referenced_tweets.id est une chaîne de caractères
in_reply_to_status_id_strdata.referenced_tweets.id (si type=replied_to)expansions=referenced_tweets.id
in_reply_to_user_idN/A in_reply_to_user_id est une chaîne de caractères
in_reply_to_user_id_strdata.in_reply_to_user_idtweet.fields=in_reply_to_user_id
in_reply_to_screen_nameincludes.users..usernametweet.fields=in_reply_to_user_id&expansions=entities.mentions.username
userincludes.usersexpansions=author_id
geodata.geo.place_idtweet.fields=geo
coordinatesdata.geo.place_idexpansions=geo.place_id
placedata.geo.place_idexpansions=geo.place_id
retweeted_statusdata.referenced_tweets.id (si type=retweeted)expansions=referenced_tweets.id
is_quoted_statusNon disponible
quoted_status_idN/A referenced_tweets.id est une chaîne de caractères
quoted_status_id_strdata.referenced_tweets.id (si type=quoted)expansions=referenced_tweets.id
quoted_status_permalinkNon disponible
quoted_statusdata.referenced_tweets (si type=quoted)expansions=referenced_tweets.id
retweet_countdata.public_metrics.retweet_counttweet.fields=public_metrics
favorite_countdata.public_metrics.like_counttweet.fields=public_metrics
favoritedNon disponible
retweetedNon disponible
possibly_sensitivedata.possibly_sensitivetweet.fields=possibly_sensitive
langdata.langtweet.fields=lang
scopesNon disponible
withhelddata.withheldtweet.fields=withheld
Exemple
Objet Tweet dans v1.1

Exemple d’URI avec paramètres :

https://api.x.com/1.1/statuses/lookup.json?id=1359554366051504129&tweet_mode=extended
Objet Tweet et requête dans v2

Exemple d’URI avec paramètres :

https://api.x.com/2/tweets?ids=1359554366051504129&tweet.fields=attachments,author_id,context_annotations,conversation_id,created_at,entities,geo,id,in_reply_to_user_id,lang,possibly_sensitive,public_metrics,referenced_tweets,reply_settings,text,withheld
{
“created_at”: “Wed Feb 10 17:26:34 +0000 2021”,
“id”: 1359554366051504129,
“id_str”: “1359554366051504129”,
“text”: “N’hésitez pas, suivez un autre compte consacré aux chiots. On ne vous jugera pas. \n\nPrésentation des endpoints de gestion des abonnements dans la nouvelle… https://t.co/3cBZKZUevF”,
“truncated”: true,
“entities”: {
“hashtags”: [],
“symbols”: [],
“user_mentions”: [],
“urls”: [{
“url”: “https://t.co/3cBZKZUevF”,
“expanded_url”: “https://twitter.com/i/web/status/1359554366051504129”,
“display_url”: “twitter.com/i/web/status/1…”,
“indices”: [
111,
134
]
}]
},

“in_reply_to_status_id”: null,
“in_reply_to_status_id_str”: null,
“in_reply_to_user_id”: null,
“in_reply_to_user_id_str”: null,
“in_reply_to_screen_name”: null,
“user”: {

},
“geo”: null,
“coordinates”: null,
“place”: null,
“contributors”: null,
“is_quote_status”: false,
“retweet_count”: 18,
“favorite_count”: 98,
“favorited”: false,
“retweeted”: false,
“possibly_sensitive”: false,
“possibly_sensitive_appealable”: false,
“lang”: “en”
}
{
“data”: [{
“id”:“1359554366051504129”,
“texte”:“Allez-y, suivez un autre compte de chiots. On ne vous jugera pas. \n\nPrésentation des endpoints de gestion des abonnements pour la nouvelle #TwitterAPI. Vous pouvez désormais utiliser l’API v2 pour suivre et ne plus suivre des comptes. En savoir plus https://t.co/mtpd9VIMDa”,
“lang”:“fr”,
“conversation_id”:“1359554366051504129”,
“possibly_sensible”: false,
“reply_paramètres”:“everyone”,
“created_at”:“2021-02-10T17:26:34.000Z”,
“auteur_id”:“2244994945”,
“public_metrics”:{
“retweet_count”: 18,
“reply_count”: 11,
“like_count”: 98,
“quote_count”: 7
},
“entities”:{
“hashtags”: [{
“démarrer”: 110,
“fin”: 121,
“tag”:“TwitterAPI”
}],
“urls”: [{
“démarrer”: 194,
“fin”: 217,
“url”:“https://t.co/mtpd9VIMDa”,
“étendue_url”:“https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465”,
“display_url”:“devcommunity.com/t/introducing-…”,
“images”: [{
“url”:“https://pbs.twimg.com/news_img/1359554367905427457/DczC72__?format=jpg&name=orig”,
“width”: 1200,
“height”: 630
},
{
“url”:“https://pbs.twimg.com/news_img/1359554367905427457/DczC72__?format=jpg&name=150x150”,
“width”: 150,
“height”: 150
}
],
“status”: 200,
“title”:“Présentation des nouveaux points de terminaison de gestion des abonnements de X API v2”,
“description”:“Suivre ou ne pas suivre ? Vous êtes désormais libre de répondre à cette question comme bon vous semble en utilisant X API v2. Aujourd’hui, nous sommes ravis d’annoncer la sortie des nouveaux endpoints de gestion des abonnements dans la nouvelle Twitter API. Comme annoncé lors du lancement des endpoints de consultation des abonnements il y a un peu plus d’un mois, la possibilité de gérer les relations d’abonnement est enfin là. Il s’agit de certains de nos endpoints les plus populaires sur nos API v1.1, nous sommes donc ravis de débloquer un large éventail de cas d’usage sur X API v2. N…”,
“déroulé_url”:“https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465
}]
},
“contexte_annotations”: [{
“domain”:{
“id”:“46”,
“name”:“Catégorie de marque”,
“description”:“Catégories au sein des verticales de marque qui précisent le périmètre des marques”
},
“entity”:{
“id”:“781974596752842752”,
“name”:“Services”
}
},
{
“domain”:{
“id”:“47”,
“name”:“Marque”,
“description”:“Marques et sociétés”
},
“entity”:{
“id”:“10045225402”,
“name”:“Twitter”
}
}
]
}]
}

Objet User

Format Twitter 1.1Format Twitter v2Paramètres v2 requis
user_iddata.author_idtweet.fields=author_id
user.idN/A : utilisez includes.users.id
user.id_strincludes.users.idexpansions=author_id
user.nameincludes.users.nameexpansions=author_id
user.screen_nameincludes.user.usernameexpansions=author_id
user.locationincludes.users.locationexpansions=author_id&user.fields=location
user.descriptionincludes.users.descriptionexpansions=author_id&user.fields=description
user.urlincludes.users.urlexpansions=author_id&user.fields=entities
user.entitiesincludes.users.entities
user.entities.url.urls.urlincludes.users.entities.url.urls.url
user.entities.url.urls.expanded_urlincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entities
user.entities.url.urls.display_urlincludes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entities
user.entities.url.urls.display_url.indicies[0]includes.users.entities.url.urls.startexpansions=author_id&user.fields=entities
user.entities.url.urls.display_url.indicies[1]includes.users.entities.url.urls.endexpansions=author_id&user.fields=entities
user.protectedincludes.users.protectedexpansions=author_id&user.fields=protected
user.followers_countincludes.users.public_metrics.followers_countexpansions=author_id&user.fields=public_metrics
user.friends_countincludes.users.public_metrics.following_countexpansions=author_id&user.fields=public_metrics
user.listed_countincludes.users.public_metrics.listed_countexpansions=author_id&user.fields=public_metrics
user.created_atincludes.users.created_atexpansions=author_id&user.fields=created_at
user.favourites_count
user.verifiedincludes.users.verifiedexpansions=author_id&user.fields=verified
user.statuses_countincludes.users.public_metrics.tweet_countexpansions=author_id&user.fields=public_metrics
user.profile_image_url_httpsincludes.users.profile_image_urlexpansions=author_id&user.fields=profile_image_url
Exemple
Objet User dans v1.1Objet utilisateur et requête en v2
”user”:{
“id”: 2244994945,
“id_str”:“2244994945”,
“name”:“Twitter Dev”,
“screen_name”:“TwitterDev”,
“location”:“127.0.0.1”,
“description”:“La voix de l’équipe #TwitterDev et votre source officielle de mises à jour, d’actualités et d’événements relatifs à l’#TwitterAPI.”,
“url”:“https://t.co/3ZX3TNiZCY”,
“entities”:{
“url”:{
“urls”: [{
“url”:“https://t.co/3ZX3TNiZCY”,
“étendue_url”:“https://developer.x.com/fr/community”,
“display_url”:“developer.x.com/fr/community”,
“indices”: [
0,
23
]
}]
},
“description”:{
“urls”: []
}
},
“protected”: false,
“followers_count”: 517232,
“friends_count”: 2032,
“répertorié_count”: 1722,
“créé_à”:“Sat Dec 14 04:35:55 +0000 2013”,
“favourites_count”: 2134,
“UTC_offset”: null,
“fuseau horaire_zone”: null,
“geo_activé”: true,
“vérifié”: true,
“statuses_count”: 3677,
“lang”: null,
“contributeurs_activé”: false,
“est_traducteur”: false,
“est_traduction_activé”: false,
“profile_arrière-plan_color”:“FFFFFF”,
“profil_arrière-plan_image_url”:“http://abs.twimg.com/images/themes/theme1/bg.png”,
“profile_arrière-plan_image_url_https”:“https://abs.twimg.com/images/themes/theme1/bg.png”,
“profil_arrière-plan_mosaïque”: false,
“profil_image_url”:“http://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“profile_image_url_https”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“profil_banner_url”:“https://pbs.twimg.com/profile_banners/2244994945/1611792896”,
“profil_lien_color”:“0084B4”,
“profile_sidebar_border_color”:“FFFFFF”,
“profil_sidebar_remplir_color”:“DDEEF6”,
“profil_text_color”:“333333”,
“profile_use_arrière-plan_image”: false,
“a_extended_profile”: true,
“par défaut_profile”: false,
“par défaut_profil_image”: false,
“following”: null,
“follow_requête_envoyée”: null,
“notifications”: null,
“traducteur_type”:“regular”
}
{
“data”: [{
“author_id”: “2244994945”,
“id”: “1362876655061073928”,
“text”: “De nos salons aux vôtres 🐱‍💻🛋️ Nos responsables des relations développeurs ont prévu des streams Twitch et des événements virtuels passionnants pour vous aider à démarrer avec la nouvelle #TwitterAPI. Consultez le programme pour plus de détails, et dites-nous si vous voulez en voir davantage !\n👇\nhttps://t.co/cixDY9qkvH”
}],
“includes”: {
“users”: [{
“public_metrics”: {
“followers_count”: 517233,
“following_count”: 2034,
“tweet_count”: 3677,
“listed_count”: 1727
},
“username”: “TwitterDev”,
“entities”: {
“url”: {
“urls”: [{
“start”: 0,
“end”: 23,
“url”: “https://t.co/3ZX3TNiZCY”,
“expanded_url”: “https://developer.x.com/en/community”,
“display_url”: “developer.x.com/en/community”
}]
},
“description”: {
“hashtags”: [{
“start”: 17,
“end”: 28,
“tag”: “TwitterDev”
},
{
“start”: 105,
“end”: 116,
“tag”: “TwitterAPI”
}
]
}
},
“description”: “La voix de l’équipe #TwitterDev et votre source officielle d’actualités, de mises à jour et d’événements liés à la #TwitterAPI.”,
“name”: “Twitter Dev”,
“verified”: true,
“location”: “127.0.0.1”,
“id”: “2244994945”,
“protected”: false,
“url”: “https://t.co/3ZX3TNiZCY”,
“profile_image_url”: “https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“created_at”: “2013-12-14T04:35:55.000Z”
}]
}
}

Objets entities et expanded entities

Format Twitter 1.1Format Twitter v2Paramètres v2 requisType dans v2
entitiesdata.entitiestweet.fields=entitiesobject
entities.hashtagsdata.entities.hashtagstweet.fields=entitiesarray of objects
entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesnumber
entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesnumber
entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entitiesstring
entities.urlsdata.entities.urlstweet.fields=entitiesarray of objects
entities.urls.indices[0]data.entities.urls.starttweet.fields=entitiesnumber
entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesnumber
entities.urls.urldata.entities.urls.urltweet.fields=entitiesstring
entities.user_mentionsdata.entities.mentionstweet.fields=entitiesarray of objects
entities.user_mentions.indicies[0]data.entities.mentions.starttweet.fields=entitiesnumber
entities.user_mentions.indicies[1]data.entities.mentions.endtweet.fields=entitiesnumber
entities.user_mentions.screen_namedata.entities.mentions.usernametweet.fields=entitiesstring
entities.symbolsdata.entities.cashtagstweet.fields=entitiesarray of objects
entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entitiesnumber
entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesnumber
entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesstring
entities.mediaincludes.mediaexpansions=attachments.media_keysarray of objects
entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysstring
entities.media.typeincludes.media.media.typeexpansions=attachments.media_keysstring
entities.media.media_urlN/A, utilisez includes.media.urlstring
entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_keys&media.fields=urlstring
entities.media.url
entities.media.display_url
entities.media.expanded_url
entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlstring
extended_entitiesdata.attachmentstweet_fields=attachmentsobject
extended_entitiesdata.attachments.media_keystweet.fields=attachmentsarray of objects
extended_entities.mediaincludes.mediaexpansions=attachments.media_keysarray of objects
extended_entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysstring
extended_entities.media.typeincludes.media.media.typeexpansions=attachments.media_keysstring
extended_entities.media.sizes.thumb.wNon disponible
extended_entities.media.sizes.thumb.hNon disponible
extended_entities.media.sizes.thumb.resizeNon disponible
extended_entities.media.sizes.large.wincludes.media.heightexpansions=attachments.media_keys&media.fields=height
extended_entities.media.sizes.large.hincludes.media.widthexpansions=attachments.media_keys&media.fields=width
extended_entities.media.sizes.large.resizeNon disponible
extended_entities.media.sizes.small.wNon disponible
extended_entities.media.sizes.small.hNon disponible
extended_entities.media.sizes.small.resizeNon disponible
extended_entities.media.sizes.medium.wNon disponible
extended_entities.media.sizes.medium.hNon disponible
extended_entities.media.sizes.medium.resizeNon disponible
extended_entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_keys&media.fields=urlstring
extended_entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlstring
extended_entities.media.video_info.duration_millisincludes.media.duration_msexpansions=attachments.media_keys&media.fields=duration_msnumber
Exemple
Entités et entités étendues dans l’API v1.1 (avec vidéo)Entités, pièces jointes et includes dans la v2

https://api.x.com/2/tweets?ids=1370161532013735937&expansions=attachments.media_keys,entities.mentions.username&tweet.fields=entities&user.fields=created_at,description,entities,location,name,profile_image_url,protected,public_metrics,url,username,verified,withheld&media.fields=duration_ms,height,media_key,preview_image_url,public_metrics,type,url,width
”entities”:{
“hashtags”: [{
“texte”:“test”,
“indices”: [
8,
13
]
}],
“symbols”: [],
“utilisateur_mentions”: [{
“screen_name”:“TwitterDev”,
“name”:“Twitter Dev”,
“id”: 2244994945,
“id_str”:“2244994945”,
“indices”: [
31,
42
]
}],
“urls”: [{
“url”:“https://t.co/XVLZ3uwikc”,
“étendue_url”:“https://developer.x.com/en”,
“display_url”:“developer.x.com/en”,
“indices”: [
91,
114
]
}],
“media”: [{
“id”: 1370161464028196868,
“id_str”:“1370161464028196868”,
“indices”: [
115,
138
],
“media_url”:“http://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“media_url_https”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“url”:“https://t.co/dz4oByygWA”,
“display_url”:“pic.x.com/dz4oByygWA”,
“étendue_url”:“https://twitter.com/furiouscamper/status/1370161532013735937/video/1”,
“type”:“photo”,
“sizes”:{
“thumb”:{
“w”: 150,
“h”: 150,
“resize”:“crop”
},
“small”:{
“w”: 383,
“h”: 680,
“resize”:“fit”
},
“large”:{
“w”: 720,
“h”: 1280,
“resize”:“fit”
},
“medium”:{
“w”: 675,
“h”: 1200,
“resize”:“fit”
}
}
}]
},
“extended_entities”:{
“media”: [{
“id”: 1370161464028196868,
“id_str”:“1370161464028196868”,
“indices”: [
115,
138
],
“media_url”:“http://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“media_url_https”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“url”:“https://t.co/dz4oByygWA”,
“display_url”:“pic.x.com/dz4oByygWA”,
“étendu_url”:“https://twitter.com/furiouscamper/status/1370161532013735937/video/1”,
“type”:“video”,
“sizes”:{
“thumb”:{
“w”: 150,
“h”: 150,
“resize”:“crop”
},
“small”:{
“w”: 383,
“h”: 680,
“resize”:“fit”
},
“large”:{
“w”: 720,
“h”: 1280,
“resize”:“fit”
},
“medium”:{
“w”: 675,
“h”: 1200,
“resize”:“fit”
}
},
“video_info”:{
“aspect_ratio”: [
9,
16
],
“duration_millis”: 5140,
“variants”: [{
“bitrate”: 950000,
“content_type”:“video/mp4”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/480x852/rAuFVMEqs0MeP4P4.mp4?tag=12
},
{
“bitrate”: 2176000,
“content_type”:“video/mp4”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/720x1280/ZxVL5qYO-DNVuSyq.mp4?tag=12
},
{
“content_type”:“application/x-mpegURL”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/pl/EGVpuZpo-wYxTNCq.m3u8?tag=12
},
{
“bitrate”: 632000,
“content_type”:“video/mp4”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/320x568/M7VtocAwKPFdkqzF.mp4?tag=12
}
]
},
“supplémentaires_media_info”:{
“monétisable”: false
}
}]
}
{
“data”: [{
“entities”:{
“hashtags”: [{
“start”: 8,
“end”: 13,
“tag”:“test”
}],
“mentions”: [{
“start”: 31,
“end”: 42,
“username”:“TwitterDev”
}],
“urls”: [{
“start”: 91,
“end”: 114,
“url”:“https://t.co/XVLZ3uwikc”,
“étendue_url”:“https://developer.x.com/en”,
“display_url”:“developer.x.com/fr”,
“status”: 200,
“title”:“Cas d’utilisation, tutoriels,&Documentation”,
“description”:“Publier&analyser les Tweets, optimiser les publicités,&créez des expériences client uniques avec l’API Twitter, l’API Twitter Ads,&Twitter for Websites. Commençons’Commençons à développer.”,
“déroulé_url”:“https://developer.x.com/en
},
{
“start”: 115,
“end”: 138,
“url”:“https://t.co/dz4oByygWA”,
“étendue_url”:“https://x.com/furiouscamper/status/1370161532013735937/video/1”,
“display_url”:“pic.x.com/dz4oByygWA”
}
]
},
“id”:“1370161532013735937”,
“texte”:“Another #test with a video and @TwitterDev mention. Excited for new format migration docs! https://t.co/XVLZ3uwikc https://t.co/dz4oByygWA”,
“attachments”:{
“media_clés”: [
“7_1370161464028196868”
]
}
}],
“includes”:{
“media”: [{
“type”:“video”,
“height”: 1280,
“public_metrics”:{
“affichage_count”: 37
},
“width”: 720,
“media_clé”:“7_1370161464028196868”,
“duration_ms”: 5140,
“prévisualisation_image_url”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg
}],
“users”: [{
“public_metrics”:{
“followers_count”: 517233,
“suivante_count”: 2034,
“tweet_count”: 3677,
“listé_count”: 1727
},
“créée_à”:“2013-12-14T04:35:55.000Z”,
“profil_image_url”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“description”:“La voix de l’équipe #TwitterDev et votre source officielle de mises à jour, d’actualités et d’événements relatifs à l’#TwitterAPI.”,
“certifié”: true,
“id”:“2244994945”,
“username”:“TwitterDev”,
“protected”: false,
“entities”:{
“url”:{
“urls”: [{
“start”: 0,
“end”: 23,
“url”:“https://t.co/3ZX3TNiZCY”,
“étendue_url”:“https://developer.x.com/fr/community”,
“display_url”:“developer.x.com/fr/community”
}]
},
“description”:{
“hashtags”: [{
“start”: 17,
“end”: 28,
“tag”:“TwitterDev”
},
{
“start”: 105,
“end”: 116,
“tag”:“TwitterAPI”
}
]
}
},
“url”:“https://t.co/3ZX3TNiZCY”,
“name”:“Twitter Dev”,
“location”:“127.0.0.1”
}]
}
}

Objet Place

Format Twitter 1.1Format Twitter v2Paramètres requis pour v2
placedata.geo.place_idtweet.fields=geo
place.idincludes.places.idexpansions=geo.place_id
place.id.place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_type
place.id.nameincludes.places.nameexpansions=geo.place_id&place.fields=name
place.id.full_nameincludes.places.full_nameexpansions=geo.place_id
place.id.country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_code
place.id.countryincludes.places.countryexpansions=geo.place_id&place.fields=country
place.id.contained_withinincludes.places.contained_withinexpansions=geo.place_id&place.fields=contained_within
place.id.bounding_box.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=place_type
place.id.bounding_box.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geo
place.id.attributesincludes.places.propertiesexpansions=geo.place_id&place.fields=geo
Exemple
Objet Place dans v1.1Objet Place avec v2

https://api.x.com/2/tweets?ids=1370161532013735937&expansions=geo.place_id&tweet.fields=geo&place.fields=contained_within,country,country_code,full_name,geo,id,name,place_type
”place”: {
“id”: “f7eb2fa2fea288b1”,
“url”: “https://api.x.com/1.1/geo/id/f7eb2fa2fea288b1.json”,
“place_type”: “city”,
“name”: “Lakewood”,
“full_name”: “Lakewood, CO”,
“country_code”: “US”,
“country”: “United States”,
“contained_within”: [],
“bounding_box”: {
“type”: “Polygon”,
“coordinates”: [
[
[
-105.193475,
39.60973
],
[
-105.053164,
39.60973
],
[
-105.053164,
39.761974
],
[
-105.193475,
39.761974
]
]
]
},
“attributes”:
}
{
“data”: [{
“id”: “1370161532013735937”,
“text”: “Another #test with a video and @TwitterDev mention. Excited for new format migration docs! https://t.co/XVLZ3uwikc https://t.co/dz4oByygWA”,
“geo”: {
“place_id”: “f7eb2fa2fea288b1”
}
}],
“includes”: {
“places”: [{
“name”: “Lakewood”,
“place_type”: “city”,
“full_name”: “Lakewood, CO”,
“id”: “f7eb2fa2fea288b1”,
“geo”: {
“type”: “Feature”,
“bbox”: [
-105.193475,
39.60973,
-105.053164,
39.761974
],
“properties”:
},
“country_code”: “US”,
“country”: “United States”
}]
}
É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.
Structure Native EnrichedStructure v2
Par défaut{
tweet object fields,

“user”: ,
“place”: ,
“entities”: {
“hashtags”: [],
“urls”: [],
“user_mentions”: [],
“symbols”: [],
“annotations”: [],
“media”: []
},
“extended_entities”: ,
“matching_rules”: []
}
{
“data”: [{
“id”,
“text”,

“edit_history_tweet_ids”
}]
}
Avec des paramètres champs et expansions définis{
“data”: [{
tweet object fields,
“entities”: {
“hashtags”: [],
“cashtags”: [],
“mentions”: [],
“urls”: [],
},
“attachments”: {
“media_keys”: [],
“poll_ids”: []
}
}],
“includes”: [
“tweets”: [user objects],
“users”: [user objects],
“media”: [media objects],
“places”: [place object],
“polls”: [poll object]
],
“matching_rules”: []
}
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

Format Native EnrichedFormat v2 de TwitterParamètres v2 obligatoiresType en v2
created_atdata.created_attweet.fields=created_atChaîne de caractères
idNon applicable : voir id
id_strdata.idPar défautChaîne de caractères
textdata.textPar défautChaîne de caractères
edit_historydata.edit_history_tweet_idsPar défautTableau
edit_controlsdata.edit_controlstweet.fields=edit_controlsObjet
editabledata.edit_controls.is_edit_eligibletweet.fields=edit_controlsBooléen
display_text_rangeNon applicable : text inclut l’intégralité du texte
sourcedata.sourcetweet.fields=sourceChaîne de caractères
truncatedNon applicable : text inclut l’intégralité du texte
Non disponibledata.conversation_idtweet.fields=conversation_idChaîne de caractères
Non disponibledata.reply_settingstweet.fields=reply_settingsString
in_reply_to_status_idN/A - voir referenced_tweets.id
in_reply_to_status_id_strdata.referenced_tweets.id (si type=replied_to)expansions=referenced_tweets.idString
in_reply_to_user_idN/A - voir in_reply_to_user_id_str
in_reply_to_user_id_strdata.in_reply_to_user_idtweet.fields=in_reply_to_user_idString
in_reply_to_screen_nameincludes.users..usernametweet.fields=in_reply_to_user_id&expansions=entities.mentions.usernameString
userincludes.usersexpansions=author_idObject
user.id_strdata.author_idtweet.fields=author_idString
geodata.geo.place_idtweet.fields=geo
coordinatesdata.geo.place_idtweet.fields=geo
placedata.geo.place_idtweet.fields=geo
is_quoted_statusdata.referenced_tweets.id (si type=quoted)tweet.fields=referenced_tweetsString
extended_tweet.full_textN/A - texte complet
Non disponibledata.public_metricstweet.fields=public_metricsObjet
quote_countdata.public_metrics.quote_counttweet.fields=public_metricsInt
reply_countdata.public_metrics.reply_counttweet.fields=public_metricsInt
retweet_countdata.public_metrics.retweet_counttweet.fields=public_metricsInt
favorite_countdata.public_metrics.like_counttweet.fields=public_metricsInt
Non disponibledata.non_public_metricstweet.fields=non_public_metricsObjet
Non disponibledata.non_public_metrics.impression_counttweet.fields=non_public_metricsInt
Non disponibledata.non_public_metrics.url_link_counttweet.fields=non_public_metricsInt
Non disponibledata.non_public_metrics.user_profile_counttweet.fields=non_public_metricsInt
Non disponibledata.organic_metricstweet.fields=organic_metricsObject
Non disponibledata.organic_metrics.like_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.retweet_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.reply_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.impression_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.url_link_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.user_profile_counttweet.fields=organic_metricsInt
Non disponibledata.promoted_metricstweet.fields=promoted_metricsObject
Non disponibledata.promoted_metrics.like_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.retweet_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.reply_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.impression_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.url_link_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.user_profile_counttweet.fields=promoted_metricsInt
contributorsNon disponibleNon disponible
entitiesdata.entitiestweet.fields=entitiesObjet
entities.user_mentionsdata.entities.mentionstweet.fields=entitiesTableau d’objets
entities.symbolsdata.entities.cashtagstweet.fields=entitiesTableau d’objets
entities.hashtagsdata.entities.hashtagstweet.fields=entitiesTableau d’objets
entities.urlsdata.entities.urlstweet.fields=entitiesTableau d’objets
entities.mediaincludes.mediaexpansions=attachments.media_keysTableau d’objets
entities.annotationstweet.fields=entities,context_annotationsObjet
entities.annotations.contextdata.context_annotationstweet.fields=entities,context_annotationsTableau d’objets
Aucun équivalentdata.context_annotations.domaintweet.fields=context_annotationsObjet
entities.annotations.context.context_domain_id_strdata.context_annotations.domain.idtweet.fields=context_annotationsChaîne de caractères
entities.annotations.context.context_domain_idNon disponibleNon disponible – voir data.context_annotations.domain.id pour le format de chaîne
entities.annotations.context.context_domain_namedata.context_annotations.domain.nametweet.fields=context_annotationsChaîne de caractères
entities.annotations.context.context_domain_descriptiondata.context_annotations.domain.descriptiontweet.fields=context_annotationsChaîne de caractères
Aucun équivalentdata.context_annotations.entitytweet.fields=context_annotationsObjet
entities.annotations.context.context_entity_id_strdata.context_annotations.entity.idtweet.fields=context_annotationsChaîne de caractères
entities.annotations.context.context_entity_idNon disponibleNon disponible – voir data.context_annotations.entity.id pour le format de chaîne
entities.annotations.context.context_entity_namedata.context_annotations.entity.nametweet.fields=context_annotationsChaîne de caractères
entities.annotations.context.context_entity_descriptiondata.context_annotations.entity.descriptiontweet.fields=context_annotationsChaîne de caractères
entities.annotations.entitydata.entities.annotationstweet.fields=entities,context_annotationsTableau d’objets
extended_entitiesdata.attachmentstweet.fields=attachmentsObjet
favoritedNon disponibleNon disponible
retweetedNon disponibleNon disponible
retweeted_status
possibly_sensitivedata.possibly_sensitivetweet.fields=possibly_sensitiveBooléen
langdata.langtweet.fields=langChaîne de caractères
filter_levelNon disponibleNon disponible
scopesNon disponibleNon disponible
timestamp_msNon disponibleNon disponible
withhelddata.withheldtweet.fields=withheldTableau d’objets
matching_rulesmatching_rulesTableau d’objets
matching_rules.idNon disponibleNon disponible
matching_rules.id_strReprésentation sous forme de chaîne de matching_rules.idValeur par défaut pour le flux filtréChaîne de caractères
matching_rules.tagmatching_rules.tagValeur par défaut pour le flux filtréChaîne de caractères

Objet User

Format Native EnrichedFormat v2 de TwitterParamètres requis pour v2Type dans v2
userincludes.usersexpansions=author_idTableau d’objets
user.idNon disponibleN/A - voir includes.users.idChaîne
user.id_strincludes.users.idexpansions=author_idChaîne
user.nameincludes.users.nameexpansions=author_idChaîne
user.screen_nameincludes.user.usernameexpansions=author_idChaîne
user.locationincludes.users.locationexpansions=author_id&user.fields=locationObjet
user.descriptionincludes.users.descriptionexpansions=author_id&user.fields=descriptionChaîne
Non disponibleincludes.users.urlexpansions=author_id&user.fields=urlChaîne
user.followers_countincludes.users.public_metrics.followers_countexpansions=author_id&user.fields=public_metricsEntier
user.friends_countincludes.users.public_metrics.following_countexpansions=author_id&user.fields=public_metricsEntier
user.listed_countincludes.users.public_metrics.listed_countexpansions=author_id&user.fields=public_metricsEntier
user.created_atincludes.users.created_atexpansions=author_id&user.fields=created_atChaîne de caractères
user.favourites_countPas encore disponible
user.verifiedincludes.users.verifiedexpansions=author_id&user.fields=verifiedBooléen
Non disponibleincludes.users.pinned_tweet_idexpansions=author_id&user.fields=pinned_tweet_idChaîne de caractères
user.statuses_countincludes.users.public_metrics.tweet_countexpansions=author_id&user.fields=public_metricsEntier
user.profile_image_url_httpsincludes.users.profile_image_urlexpansions=author_id&user.fields=profile_image_urlChaîne de caractères
user.translator_typeNon disponibleNon disponible
user.utc_offsetNon disponibleNon disponible
user.time_zoneNon disponibleNon disponible
user.geo_enabledNon disponibleNon disponible
user.langNon disponible — dérivé de la langue du TweetNon disponible – à déduire à partir de la langue du Tweet
user.contributors_enabledNon disponibleNon disponible
user.is_translatorNon disponibleNon disponible
user.profile_background_colorNon disponibleNon disponible
user.profile_background_image_urlNon disponibleNon disponible
user.profile_background_image_url_httpsNon disponibleNon disponible
user.profile_background_titleNon disponibleNon disponible
user.profile_sidebar_border_colorNon disponibleNon disponible
user.profile_sidebar_fill_colorNon disponibleNon disponible
user.profile_text_colorNon disponibleNon disponible
user.profile_user_background_imageNon disponibleNon disponible
user.profile_image_urlVoir includes.user.profile_image_url
user.default_profileNon disponibleNon disponible
user.default_profile_imageNon disponibleNon disponible
user.followingNon disponibleNon disponible
user.follow_request_sentNon disponibleNon disponible
user.notificationsNon disponibleNon disponible
user.withheld_in_countriesincludes.users.withheldexpansions=author_id&user.fields=withheldObjet
user.protectedincludes.users.protectedexpansions=author_id&user.fields=protectedBooléen
Non disponibleincludes.users.entitiesexpansions=author_id&user.fields=entitiesObjet
Non disponibleincludes.users.entities.urlexpansions=author_id&user.fields=entitiesObjet
Non disponibleincludes.users.entities.url.urlsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.url.urls.startexpansions=author_id&user.fields=entitiesEntier
Non disponibleincludes.users.entities.url.urls.endexpansions=author_id&user.fields=entitiesEntier
Non disponibleincludes.users.entities.url.urls.urlexpansions=author_id&user.fields=entitiesChaîne de caractères
user.urlincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entitiesChaîne de caractères
Non disponibleincludes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entitiesChaîne de caractères
Non disponibleincludes.users.entities.descriptionsexpansions=author_id&user.fields=entitiesObjet
Non disponibleincludes.users.entities.descriptions.hashtagsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.descriptions.hashtags.startexpansions=author_id&user.fields=entitiesEntier
Non disponibleincludes.users.entities.descriptions.hashtags.endexpansions=author_id&user.fields=entitiesEntier
Inclus dans user.descriptionincludes.users.entities.descriptions.hashtags.tagexpansions=author_id&user.fields=entitiesChaîne de caractères
Non disponibleincludes.users.entities.descriptions.mentionsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.descriptions.mentions.startexpansions=author_id&user.fields=entitiesEntier
Non disponibleincludes.users.entities.descriptions.mentions.endexpansions=author_id&user.fields=entitiesEntier
Inclus dans user.descriptionincludes.users.entities.descriptions.mentions.usernameexpansions=author_id&user.fields=entitiesChaîne de caractères
Non disponibleincludes.users.entities.descriptions.cashtagsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.descriptions.cashtags.startexpansions=author_id&user.fields=entitiesEntier
Non disponibleincludes.users.entities.descriptions.cashtags.endexpansions=author_id&user.fields=entitiesEntier
Inclus dans user.descriptionincludes.users.entities.descriptions.cashtags.tagexpansions=author_id&user.fields=entitiesChaîne de caractères

Objets entities et expanded entities

Format enrichi natifFormat Twitter v2Paramètres v2 obligatoiresType au format v2
entitiesdata.entitiestweet.fields=entitiesObjet
entities.hashtagsdata.entities.hashtagstweet.fields=entitiesTableau d’objets
entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesEntier
entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesEntier
entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entitiesChaîne de caractères
entities.urlsdata.entities.urlstweet.fields=entitiesTableau d’objets
entities.urls.indices[0]data.entities.urls.starttweet.fields=entitiesEntier
entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesEntier
entities.urls.urldata.entities.urls.urltweet.fields=entitiesChaîne de caractères
entities.urls.expanded_urldata.entities.urls.expanded_urltweet.fields=entitiesChaîne de caractères
entities.urls.display_urldata.entities.urls.display_urltweet.fields=entitiesString
entities.urls.unwound.urldata.entities.urls.unwound_urltweet.fields=entitiesString
entities.urls.unwound.statusdata.entities.urls.statustweet.fields=entitiesString
entities.urls.unwound.titledata.entities.urls.titletweet.fields=entitiesString
entities.urls.unwound.descriptiondata.entities.urls.descriptiontweet.fields=entitiesString
Non disponibledata.entities.urls.imagestweet.fields=entitiesTableau d’objets
Non disponibledata.entities.urls.images.urltweet.fields=entitiesString
Non disponibledata.entities.urls.images.widthtweet.fields=entitiesInt
Non disponibledata.entities.urls.images.heighttweet.fields=entitiesInt
entities.user_mentionsdata.entities.mentionstweet.fields=entitiesTableau d’objets
entities.user_mentions.indicies[0]data.entities.mentions.starttweet.fields=entitiesEntier
entities.user_mentions.indicies[1]data.entities.mentions.endtweet.fields=entitiesEntier
entities.user_mentions.screen_namedata.entities.mentions.usernametweet.fields=entitiesChaîne de caractères
entities.symbolsdata.entities.cashtagstweet.fields=entitiesTableau d’objets
entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entitiesEntier
entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesEntier
entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesChaîne de caractères
entities.media OR extended_entities.mediaincludes.mediaexpansions=attachments.media_keysTableau d’objets
entities.media.id_str OR extended_entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysChaîne de caractères
entities.media.id OR extended_entities.media.idNon disponible : id est une chaîne de caractères
entities.media.type OR extended_entities.media.typeincludes.media.typeexpansions=attachments.media_keysChaîne de caractères
entities.media.indices OR extended_entities.media.indicesNon disponibleNon disponible
Non disponibleincludes.media.alt_textexpansions=attachments.media_keys&media.fields=alt_textChaîne de caractères
entities.media.additional_media_info OR extended_entities.media.additional_media_infoNon disponibleNon disponible
entities.media.additional_media_info.monetizable OR extended_entities.media.additional_media_info.monetizableNon disponibleNon disponible
entities.media.media_url OR extended_entities.media.media_urlN/A – voir includes.media.urlChaîne de caractères
entities.media.media_url_https OR extended_entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_keys&media.fields=urlChaîne de caractères
entities.media.url OR extended_entities.media.url
entities.media.display_url OR extended_entities.media.expanded_url
entities.media.expanded_url
entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlChaîne de caractères
extended_entitiesdata.attachmentstweet_fields=attachmentsObjet
extended_entitiesdata.attachments.media_keystweet.fields=attachmentsTableau d’objets
Non disponibledata.attachments.poll_idstweet.fields=attachmentsTableau d’objets
extended_entities.media.sizes.thumb.wNon disponible
extended_entities.media.sizes.thumb.hNon disponible
extended_entities.media.sizes.thumb.resizeNon disponible
extended_entities.media.sizes.large.wincludes.media.heightexpansions=attachments.media_keys&media.fields=height
extended_entities.media.sizes.large.hincludes.media.widthexpansions=attachments.media_keys&media.fields=width
extended_entities.media.sizes.large.resizeNon disponibleNon disponible
extended_entities.media.sizes.small.wNon disponibleNon disponible
extended_entities.media.sizes.small.hNon disponibleNon disponible
extended_entities.media.sizes.small.resizeNon disponibleNon disponible
extended_entities.media.sizes.medium.wNon disponibleNon disponible
extended_entities.media.sizes.medium.hNon disponibleNon disponible
extended_entities.media.sizes.medium.resizeNon disponibleNon disponible
extended_entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlChaîne de caractères
extended_entities.media.video_info.aspect_ratioNon disponibleNon disponible
extended_entities.media.variantsNon disponibleNon disponible
extended_entities.media.variants.bitrateNon disponibleNon disponible
extended_entities.media.variants.content_typeNon disponibleNon disponible
extended_entities.media.variants.urlNon disponibleNon disponible
extended_entities.media.video_info.duration_millisincludes.media.duration_msexpansions=attachments.media_keys&media.fields=duration_msInt
Non disponibleincludes.media.public_metricsexpansions=attachments.media_keys&media.fields=public_metricsObject
Non disponibleincludes.media.public_metrics.view_countexpansions=attachments.media_keys&media.fields=public_metricsInt
Non disponibleincludes.media.non_public_metricsexpansions=attachments.media_keys&media.fields=non_public_metricsObject
Non disponibleincludes.media.non_public_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
Non disponibleincludes.media.non_public_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
Non disponibleincludes.media.non_public_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
Non disponibleincludes.media.non_public_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
Non disponibleincludes.media.non_public_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
Non disponibleincludes.media.organic_metricsexpansions=attachments.media_keys&media.fields=organic_metricsObjet
Non disponibleincludes.media.organic_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
Non disponibleincludes.media.organic_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
Non disponibleincludes.media.organic_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
Non disponibleincludes.media.organic_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
Non disponibleincludes.media.organic_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
Non disponibleincludes.media.organic_metrics.view_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
Non disponibleincludes.media.promoted_metricexpansions=attachments.media_keys&media.fields=promoted_metricsObjet
Non disponibleincludes.media.promoted_metric.playback_0_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metric.playback_25_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metric.playback_50_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metric.playback_75_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metric.playback_100_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metrics.view_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt

Objet Place

Format natif enrichiFormat Twitter v2Paramètres v2 requisType dans v2
placeincludes.placesexpansions=geo.place_idTableau d’objets
place.idincludes.places.idexpansions=geo.place_idChaîne de caractères
place.urlNon disponibleNon disponible
place.id.place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_typeChaîne de caractères
place.id.nameincludes.places.nameexpansions=geo.place_id&place.fields=nameChaîne de caractères
place.id.full_nameincludes.places.full_nameexpansions=geo.place_idChaîne de caractères
place.id.country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_codeChaîne de caractères
place.id.countryincludes.places.countryexpansions=geo.place_id&place.fields=countryChaîne de caractères
place.id.contained_withinincludes.places.contained_withinexpansions=geo.place_id&place.fields=contained_withinTableau
place.id.bounding_box.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=place_typeChaîne de caractères
place.id.bounding_box.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geoTableau
place.id.attributesincludes.places.propertiesexpansions=geo.place_id&place.fields=geoObjet

Objet de sondage

Format enrichi natifFormat Twitter v2Paramètres v2 requisType dans v2
entities.pollsincludes.pollsexpansions=attachments.poll_idsTableau d’objets
Non disponibleincludes.polls.idexpansions=attachments.poll_idsChaîne
entities.poll.optionsincludes.polls.optionsexpansions=attachments.poll_idsTableau d’objets
entities.polls.options.positionincludes.polls.options.positionexpansions=attachments.poll_idsEntier
entities.polls.options.textincludes.polls.options.labelexpansions=attachments.poll_idsChaîne
Non disponibleincludes.polls.options.votesexpansions=attachments.poll_idsEntier
Non disponibleincludes.polls.voting_statusexpansions=attachments.poll_ids&poll.fields=voting_statusChaîne
entities.polls.duration_minutesincludes.polls.duration_minutesexpansions=attachments.poll_ids&poll.fields=duration_minutesEntier
entities.polls.end_datetimeincludes.polls.end_datetimeexpansions=attachments.poll_ids&poll.fields=end_datetimeDate (ISO 8601)

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

Format Activity StreamsFormat v2 de TwitterParamètres v2 obligatoiresType dans v2
postedTimedata.created_attweet.fields=created_atDate (ISO 8601)
generatorNon disponibleNon disponible
generator.linkNon disponibleNon disponible
generator.displayNamedata.sourcetweet.fields=sourceChaîne de caractères
twitter_langdata.langtweet.fields=langChaîne de caractères
Non disponibledata.conversation_idtweet.fields=conversation_idChaîne de caractères
Non disponibledata.reply_settingstweet.fields=reply_settingsChaîne de caractères
Non disponibledata.possibly_sensitivetweet.fields=possibly_sensitiveBooléen
Non disponibledata.withheldtweet.fields=withheldObjet
objectTypeNon disponibleNon disponible
verbNon disponibleNon disponible
providerNon disponibleNon disponible
provider.objectTypeNon disponibleNon disponible
provider.displayNameNon disponibleNon disponible
provider.linkNon disponibleNon disponible
linkNon disponibleNon disponible
display_text_rangeNon disponibleNon disponible
objectNon disponibleNon disponible
object.objectTypeNon disponibleNon disponible
object.idNon disponibleNon disponible
object.summarydata.textpar défautString
object.edit_historydata.edit_history_tweet_idspar défautArray
object.edit_controlsdata.edit_controlstweet.fields=edit_controlsObject
object.editabledata.edit_controls.is_edit_eligibletweet.fields=edit_controlsBooléen
object.linkNon disponibleNon disponible
object.postedTimedata.created_attweet.fields=created_atDate (ISO 8601)
Dérivé de actor.iddata.author_idtweet.fields=created_at
twitter_filter_levelNon disponibleNon disponible
Dérivé du nom d’utilisateur dans inReplyTo.linkdata.in_reply_to_user_idtweet.fields=in_reply_to_user_idChaîne de caractères
Non disponibledata.referenced_tweetstweet.fields=referenced_tweetsTableau d’objets
Non disponibledata.referenced_tweets.typetweet.fields=referenced_tweetsChaîne de caractères
Dérivé de inReplyTo.linkdata.referenced_tweets.idtweet.fields=referenced_tweetsChaîne de caractères
Non disponibledata.attachmentstweet.fields=attachmentsObjet
Dérivé de twitter_entities.media.id_strdata.attachments.media_keystweet.fields=attachmentsTableau
Non disponibledata.attachments.poll_idstweet.fields=attachmentsTableau
twitter_entitiesdata.entitiestweet.fields=entitiesObjet
Non disponibledata.entities.annotationstweet.fields=entitiesTableau d’objets
Non disponibledata.entities.annotations.starttweet.fields=entitiesEntier
Non disponibledata.entities.annotations.endtweet.fields=entitiesEntier
Non disponibledata.entities.annotations.probabilitytweet.fields=entitiesNombre à virgule flottante
Non disponibledata.entities.annotations.typetweet.fields=entitiesChaîne de caractères
Non disponibledata.entities.annotations.normalized_texttweet.fields=entitiesChaîne de caractères
twitter_entities.urlsdata.entities.urlstweet.fields=entitiesTableau d’objets
twitter_entities.urls.indices[0]data.entities.urls.starttweet.fields=entitiesEntier
twitter_entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesEntier
twitter_entities.urls.urldata.entities.urls.urltweet.fields=entitiesChaîne
twitter_entities.urls.expanded_urldata.entities.urls.expanded_urltweet.fields=entitiesChaîne
twitter_entities.urls.display_urldata.entities.urls.display_urltweet.fields=entitiesChaîne
Non disponibledata.entities.urls.imagestweet.fields=entitiesTableau d’objets
Non disponibledata.entities.urls.images.urltweet.fields=entitiesChaîne
Non disponibledata.entities.urls.images.widthtweet.fields=entitiesEntier
Non disponibledata.entities.urls.images.heighttweet.fields=entitiesEntier
gnip.urls.expanded_statusdata.entities.urls.statustweet.fields=entitiesEntier
gnip.urls.expanded_url_titledata.entities.urls.titletweet.fields=entitiesChaîne
gnip.urls.expanded_url_descriptiondata.entities.urls.descriptiontweet.fields=entitiesChaîne de caractères
gnip.urls.expanded_urldata.entities.urls.unwound_urltweet.fields=entitiesChaîne de caractères
twitter_entities.symbolsdata.entities.cashtagstweet.fields=entitiesTableau d’objets
twitter_entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entitiesEntier
twitter_entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesEntier
twitter_entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesChaîne de caractères
twitter_entities.hashtagsdata.entities.hashtagstweet.fields=entitiesTableau d’objets
twitter_entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesEntier
twitter_entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesEntier
twitter_entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entitiesChaîne de caractères
twitter_entities.user_mentionsdata.entities.mentionstweet.fields=entitiesTableau d’objets
twitter_entities.user_mentions.indices[0]data.entities.mentions.starttweet.fields=entitiesInt
twitter_entities.user_mentions.indices[1]data.entities.mentions.endtweet.fields=entitiesInt
twitter_entities.user_mentions.screen_namedata.entities.mentions.tagtweet.fields=entitiesString
twitter_entities.user_mentions.id_strdata.entities.mentions.idtweet.fields=entitiesString
twitter_entities.user_mentions.idNon disponibleNon disponible
Non disponibledata.context_annotationstweet.fields=context_annotationsTableau d’objets
Non disponibledata.context_annotations.domaintweet.fields=context_annotationsObjet
Non disponibledata.context_annotations.domain.idtweet.fields=context_annotationsString
Non disponibledata.context_annotations.domain.nametweet.fields=context_annotationsString
Non disponibledata.context_annotations.domain.descriptiontweet.fields=context_annotationsChaîne
Non disponibledata.context_annotations.entitytweet.fields=context_annotationsObjet
Non disponibledata.context_annotations.entity.idtweet.fields=context_annotationsChaîne
Non disponibledata.context_annotations.entity.nametweet.fields=context_annotationsChaîne
Non disponibledata.context_annotations.entity.descriptiontweet.fields=context_annotationsChaîne
geodata.geotweet.fields=geoObjet
Dérivé de location.linkdata.geo.place_idtweet.fields=geoChaîne
Non disponibledata.public_metricstweet.fields=public_metricsObjet
favoritesCountdata.public_metrics.like_counttweet.fields=public_metricsEntier
retweetCountdata.public_metrics.retweet_counttweet.fields=public_metricsEntier
Non disponibledata.public_metrics.quote_counttweet.fields=public_metricsInt
Non disponibledata.public_metrics.reply_counttweet.fields=public_metricsInt
Non disponibledata.non_public_metricstweet.fields=non_public_metricsObject
Non disponibledata.non_public_metrics.impression_counttweet.fields=non_public_metricsInt
Non disponibledata.non_public_metrics.url_link_counttweet.fields=non_public_metricsInt
Non disponibledata.non_public_metrics.user_profile_counttweet.fields=non_public_metricsInt
Non disponibledata.organic_metricstweet.fields=organic_metricsObject
Non disponibledata.organic_metrics.like_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.retweet_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.reply_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.impression_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.url_link_counttweet.fields=organic_metricsInt
Non disponibledata.organic_metrics.user_profile_counttweet.fields=organic_metricsInt
Non disponibledata.promoted_metricstweet.fields=promoted_metricsObjet
Non disponibledata.promoted_metrics.like_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.retweet_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.reply_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.impression_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.url_link_counttweet.fields=promoted_metricsInt
Non disponibledata.promoted_metrics.user_profile_counttweet.fields=promoted_metricsInt
gnip.profileLocationsNon disponibleNon disponible
gnip.profileLocations.addressNon disponibleNon disponible
gnip.profileLocations.address.countryNon disponibleNon disponible
gnip.profileLocations.address.countryCodeNon disponibleNon disponible
gnip.profileLocations.displayNameNon disponibleNon disponible
gnip.profileLocations.geoNon disponibleNon disponible
gnip.profileLocations.geo.coordinatesNon disponibleNon disponible
gnip.profileLocations.geo.typeNon disponibleNon disponible
gnip.profileLocations.objectTypeNon disponibleNon disponible

Objet utilisateur

Format Activity StreamsFormat v2 de TwitterParamètres requis pour v2Type dans v2
actorincludes.usersexpansions=author_idTableau d’objets
Dérivé de actor.idincludes.users.idexpansions=author_idChaîne de caractères
actor.displayNameincludes.users.nameexpansions=author_idChaîne de caractères
actor.preferredUsernameincludes.users.usernameexpansions=author_idChaîne de caractères
actor.postedTimeincludes.users.created_atexpansions=author_id&user.fields=created_atDate (ISO 8601)
actor.summaryincludes.users.descriptionexpansions=author_id&user.fields=descriptionChaîne de caractères
Non disponibleincludes.users.pinned_tweet_idexpansions=author_id&user.fields=pinned_tweet_idChaîne de caractères
Non disponibleincludes.users.protectedexpansions=author_id&user.fields=protectedBooléen
actor.linkNon disponibleNon disponible – à construire à partir de includes.users.username
actor.twitterTimeZoneNon disponibleNon disponible – à déduire à partir de created_at du Tweet
actor.utcOffsetNon disponibleNon disponible – à déduire à partir du champ Tweet.created_at
actor.favoritesCountNon disponibleNon disponible
actor.followersCountincludes.users.public_metrics.followers_countexpansions=author_id&user.fields=public_metricsInt
actor.friendsCountincludes.users.public_metrics.following_countexpansions=author_id&user.fields=public_metricsInt
actor.listedCountincludes.users.public_metrics.listed_countexpansions=author_id&user.fields=public_metricsInt
actor.statusesCountincludes.users.public_metrics.tweet_countexpansions=author_id&user.fields=public_metricsInt
actor.languages[]Non disponibleNon disponible – à déduire à partir du champ Tweet.lang
actor.location.displayNameincludes.users.locationexpansions=author_id&user.fields=locationString
actor.imageincludes.users.profile_image_urlexpansions=author_id&user.fields=profile_image_urlString
actor.linksincludes.users.urlexpansions=author_id&user.fields=urlString
actor.verifiedincludes.users.verifiedexpansions=author_id&user.fields=verifiedBoolean
Non disponibleincludes.users.withheldexpansions=author_id&user.fields=withheldObjet
Non disponibleincludes.users.entitiesexpansions=author_id&user.fields=entitiesObjet
Non disponibleincludes.users.entities.urlexpansions=author_id&user.fields=entitiesObjet
actor.linksincludes.users.entities.url.urlsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.url.urls.startexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.url.urls.endexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.url.urls.urlexpansions=author_id&user.fields=entitiesString
actor.links.hrefincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entitiesString
Non disponibleincludes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entitiesString
Non disponibleincludes.users.entities.descriptionexpansions=author_id&user.fields=entitiesObjet
Non disponibleincludes.users.entities.description.hashtagsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.description.hashtags.startexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.description.hashtags.endexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.description.hashtags.tagexpansions=author_id&user.fields=entitiesString
Non disponibleincludes.users.entities.description.mentionsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.description.mentions.startexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.description.mentions.endexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.description.mentions.usernameexpansions=author_id&user.fields=entitiesString
Non disponibleincludes.users.entities.description.cashtagsexpansions=author_id&user.fields=entitiesTableau d’objets
Non disponibleincludes.users.entities.description.cashtags.startexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.description.cashtags.endexpansions=author_id&user.fields=entitiesInt
Non disponibleincludes.users.entities.description.cashtags.tagexpansions=author_id&user.fields=entitiesString

Objet Poll

Format Activity StreamsFormat Twitter v2Paramètres v2 requisType dans v2
Non disponibleincludes.pollsexpansions=attachments.poll_idsTableau d’objets
Non disponibleincludes.polls.idexpansions=attachments.poll_idsChaîne de caractères
Non disponibleincludes.polls.optionsexpansions=attachments.poll_idsTableau d’objets
Non disponibleincludes.polls.options.positionexpansions=attachments.poll_idsEntier
Non disponibleincludes.polls.options.labelexpansions=attachments.poll_idsChaîne de caractères
Non disponibleincludes.polls.options.votesexpansions=attachments.poll_idsEntier
Non disponibleincludes.polls.voting_statusexpansions=attachments.poll_ids&poll.fields=voting_statusChaîne de caractères
Non disponibleincludes.polls.duration_minutesexpansions=attachments.poll_ids&poll.fields=duration_minutesEntier
Non disponibleincludes.polls.end_datetimeexpansions=attachments.poll_ids&poll.fields=end_datetimeDate (ISO 8601)

Objet Place

Format Activity StreamsFormat Twitter v2Paramètres requis pour v2Type en v2
locationincludes.placesexpansions=geo.place_idarray of objects
location.displayNameincludes.places.full_nameexpansions=geo.place_idstring
Extrait de location.linkincludes.places.idexpansions=geo.place_idstring
location.nameincludes.places.nameexpansions=geo.place_id&place.fields=namestring
location.country_codeincludes.places.countryexpansions=geo.place_id&place.fields=countrystring
location.twitter_place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_typestring
location.twitter_country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_codestring
location.geoincludes.places.geoexpansions=geo.place_id&place.fields=geoobject
location.geo.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=geostring
location.geo.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geoarray
Non disponibleincludes.places.geo.propertiesexpansions=geo.place_id&place.fields=geoobject

Objet média

Format Activity StreamsFormat Twitter v2Paramètres requis pour v2Type dans v2
twitter_entities.media OR twitter_extended_entities.mediaincludes.mediaexpansions=attachments.media_keysTableau d’objets
twitter_entities.media.id_str OR twitter_extended_entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysChaîne de caractères
twitter_entities.media.id OR twitter_extended_entities.media.idNon disponibleNon disponible
twitter_entities.media.indices OR twitter_extended_entities.media.indicesNon disponibleNon disponible
twitter_entities.media.additional_media_info OR twitter_extended_entities.media.additional_media_infoNon disponibleNon disponible
twitter_entities.media.additional_media_info.monetizable OR twitter_extended_entities.media.additional_media_info.monetizableNon disponibleNon disponible
twitter_entities.media.media_url OR twitter_extended_entities.media.media_urlNon disponibleNon disponible
twitter_entities.media.media_url_https OR twitter_extended_entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlChaîne de caractères
twitter_entities.media.url OR twitter_extended_entities.media.urlNon disponibleNon disponible
twitter_entities.media.display_url OR twitter_extended_entities.media.display_urlNon disponibleNon disponible
twitter_entities.media.expanded_url OR twitter_extended_entities.media.expanded_urlNon disponibleNon disponible
twitter_entities.media.type OR twitter_extended_entities.media.typeincludes.media.typeexpansions=attachments.media_keysString
twitter_entities.media.sizes OR twitter_extended_entities.media.sizesNon disponibleNon disponible
twitter_entities.media.sizes.thumb OR twitter_extended_entities.media.sizes.thumbNon disponibleNon disponible
twitter_entities.media.sizes.thumb.h OR twitter_extended_entities.media.sizes.thumb.hNon disponibleNon disponible
twitter_entities.media.sizes.thumb.w OR twitter_extended_entities.media.sizes.thumb.wNon disponibleNon disponible
twitter_entities.media.sizes.thumb.resize OR twitter_extended_entities.media.sizes.thumb.resizeNon disponibleNon disponible
twitter_entities.media.sizes.small OR twitter_extended_entities.media.sizes.smallNon disponibleNon disponible
twitter_entities.media.sizes.small.h OR twitter_extended_entities.media.sizes.small.hNon disponibleNon disponible
twitter_entities.media.sizes.small.w OR twitter_extended_entities.media.sizes.small.wNon disponibleNon disponible
twitter_entities.media.sizes.small.resize OR twitter_extended_entities.media.sizes.small.resizeNon disponibleNon disponible
twitter_entities.media.sizes.medium OR twitter_extended_entities.media.sizes.mediumNon disponibleNon disponible
twitter_entities.media.sizes.medium.h OR twitter_extended_entities.media.sizes.medium.hNon disponibleNon disponible
twitter_entities.media.sizes.medium.w OR twitter_extended_entities.media.sizes.medium.wNon disponibleNon disponible
twitter_entities.media.sizes.medium.resize OR twitter_extended_entities.media.sizes.medium.resizeNon disponibleNon disponible
twitter_entities.media.sizes.large OR twitter_extended_entities.media.sizes.largeNon disponibleNon disponible
twitter_entities.media.sizes.large.h OR twitter_extended_entities.media.sizes.large.hincludes.media.heightexpansions=attachments.media_keys&media.fields=heightInt
twitter_entities.media.sizes.large.w OR twitter_extended_entities.media.sizes.large.wincludes.media.widthexpansions=attachments.media_keys&media.fields=widthInt
twitter_entities.media.sizes.large.resize OR twitter_extended_entities.media.sizes.large.resizeNon disponibleNon disponible
twitter_extended_entities.media.video_infoNon disponibleNon disponible
twitter_extended_entities.media.video_info.aspect_ratioNon disponibleNon disponible
twitter_extended_entities.media.video_info.duration_millisincludes.media.duration_msexpansions=attachments.media_keys&media.fields=duration_msInt
twitter_extended_entities.media.video_info.variantsNon disponibleNon disponible
twitter_extended_entities.media.video_info.variants.bitrateNon disponibleNon disponible
twitter_extended_entities.media.video_info.variants.content_typeNon disponibleNon disponible
twitter_extended_entities.media.video_info.variants.urlNon disponibleNon disponible
Non disponibleincludes.media.alt_textexpansions=attachments.media_keys&media.fields=alt_textChaîne de caractères
Non disponibleincludes.media.public_metricsexpansions=attachments.media_keys&media.fields=public_metricsObjet
Non disponibleincludes.media.public_metrics.view_countexpansions=attachments.media_keys&media.fields=public_metricsEntier
Non disponibleincludes.media.non_public_metricsexpansions=attachments.media_keys&media.fields=non_public_metricsObjet
Non disponibleincludes.media.non_public_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=non_public_metricsEntier
Non disponibleincludes.media.non_public_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=non_public_metricsEntier
Non disponibleincludes.media.non_public_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=non_public_metricsEntier
Non disponibleincludes.media.non_public_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=non_public_metricsEntier
Non disponibleincludes.media.non_public_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=non_public_metricsEntier
Non disponibleincludes.media.organic_metricsexpansions=attachments.media_keys&media.fields=organic_metricsObjet
Non disponibleincludes.media.organic_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=organic_metricsNombre entier
Non disponibleincludes.media.organic_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=organic_metricsNombre entier
Non disponibleincludes.media.organic_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=organic_metricsNombre entier
Non disponibleincludes.media.organic_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=organic_metricsNombre entier
Non disponibleincludes.media.organic_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=organic_metricsNombre entier
Non disponibleincludes.media.organic_metrics.view_countexpansions=attachments.media_keys&media.fields=organic_metricsNombre entier
Non disponibleincludes.media.promoted_metricsexpansions=attachments.media_keys&media.fields=promoted_metricsObjet
Non disponibleincludes.media.promoted_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=promoted_metricsNombre entier
Non disponibleincludes.media.promoted_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=promoted_metricsNombre entier
Non disponibleincludes.media.promoted_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=promoted_metricsNombre entier
Non disponibleincludes.media.promoted_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
Non disponibleincludes.media.promoted_metrics.view_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt

Objet matching_rules

Format Activity StreamsFormat Twitter v2Paramètres v2 requisType dans v2
gnip.matching_rulesmatching_rulesValeur par défaut dans le flux filtréTableau d’objets
gnip.matching_rules.tagmatching_rules.tagValeur par défaut dans le flux filtréChaîne de caractères
gnip.matching_rules.tag.idNon disponibleNon disponible
gnip.matching_rules.tag.id_strmatching_rules.idValeur par défaut dans le flux filtréChaîne de caractères

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.