跳转到主要内容

介绍

随着 X API v2 的发布,我们采用了一种新的数据响应格式,以及请求不同对象和 fields 的方式,我们将其统称为 X API v2 格式。 在“一般差异”部分,您可以了解与标准版和 Enterprise 用户相关的一些变更。此外,我们还提供了面向 standard v1.1 Native 格式、Enterprise 的 Native Enriched 格式 和 Enterprise 的 Activity Streams 格式 的专门指南,帮助进行字段映射,并说明为请求新的 v2 字段需要使用哪些 fields 和 expansions。 您可能也会对我们的可视化数据格式迁移工具感兴趣,它可帮助您快速对比 X API v1.1 数据格式X API v2 格式 之间的差异。

常见差异

请求对象和 fields

在 pre-v2 endpoint 与 v2 之间,最大的变化之一是新版本默认只返回少量字段,而标准、premium 和 enterprise endpoint 默认会返回大多数字段。新版本通过名为 fieldsexpansions 的参数来明确请求超出默认返回的数据,这意味着你可以只请求所需的 data,而无需获取对你不重要的 fields。 你请求的、与主 data 对象相关的任何 fields,都会与默认值一起返回在该主 data 对象中。另一方面,如果你使用 expansions 参数请求任何扩展对象,次级对象将返回在新的 includes 对象中。你可以使用同时在两处返回的 id 字段,将 includes 对象中的扩展对象匹配回主对象。 例如,如果你使用 v2 的 Post lookup endpoint,并在请求中包含 expansions=author_id 参数,你将会在主 Post 对象中收到 author_id 字段,同时在 includes 对象中按每个 Post 收到一个 用户对象(user object)。每个对象都会包含可用于将用户对象匹配回 Post 对象的默认 id 字段。以下是示例:
{
  "data": [
    {
      "author_id": "2244994945",
      "id": "1397568983931392004",
      "text": "X 开发者平台。哦啦啦!https://t.co/iGTdPXBfOv https://t.co/Ze8z8EODdg"
    }
  ],
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "name": "X Dev",
        "username": "XDev"
      }
    ]
  }
}

更新后的 JSON 设计

除了更改请求某些 fields 的方式外,X API v2 还为 API 返回的对象引入了新的 JSON 设计,包括 Postuser 对象。
  • 在 JSON 根级,标准 endpoint 在 statuses 数组中返回 Post 对象,而 X API v2 在 data 数组中返回。
  • X API v2 的 JSON 不再将被转发和被引用的内容称为“statuses”,而是称为被转发和被引用的 Tweets。许多传统和已弃用的字段(例如 contributorsuser.translator_type)正在被移除。
  • 不再分别在 Post 对象中使用 favorites、在 user 对象中使用 favourites,X API v2 统一使用术语 like。
  • X 采用的约定是:没有值的 JSON 值(例如 null)不会写入负载。仅当 Post 和 user 的属性为非空值时才会包含。   

新增 v2 字段

我们还在 Post 对象 中引入了一组新的字段,包括:
  • 一个 conversation_id 字段
  • 两个新的 annotations 字段:context 和 entities
  • 若干新的 metrics 字段
  • 一个新的 reply_setting 字段,用于指明哪些人可以回复指定的 Post

从 Standard v1.1 的数据格式迁移到 v2

如果尚未开始,建议先阅读data formats migration简介。你也可以使用我们的visual data format migration tool,快速比较 X API v1.1 data formatX API v2 format 之间的差异。 Standard v1.1 的数据格式(也称为原生格式)是 Standard v1.1 endpoint 的主要交付格式。 如果你使用的是高级产品,请参阅native enriched guide。Enterprise 客户可能会使用 native enriched 或 activity stream,具体取决于你在 Gnip 控制台中的配置。 

Standard v1.1 与 v2 负载结构

下表展示了与 v1.1 格式相比,从 v2 可预期接收的高层对象与格式。
v1.1 结构v2 结构
默认{
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”
}]
}
使用已定义的 fields 和 expansions 参数{
“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”: []
}
字段映射 以下部分说明哪些 v1.1 字段映射到 v2 字段,以及接收这些新字段所需的 v2 参数。  

Tweet 对象

Twitter 1.1 格式Twitter v2 格式所需 v2 参数
created_atdata.created_attweet.fields=created_at
id不适用:id 为字符串
id_strdata.id默认
textdata.text默认
full_text不适用:text 包含完整文本
truncated不适用:text 包含完整文本
display_text_range不适用:text 包含完整文本
edit_historydata.edit_history_tweet_ids默认
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_id不适用:referenced_tweets.id 为字符串
in_reply_to_status_id_strdata.referenced_tweets.id (if type=replied_to)expansions=referenced_tweets.id
in_reply_to_user_id不适用:in_reply_to_user_id 为字符串
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 (if type=retweeted)expansions=referenced_tweets.id
is_quoted_status不可用
quoted_status_id不适用:referenced_tweets.id 为字符串
quoted_status_id_strdata.referenced_tweets.id (if type=quoted)expansions=referenced_tweets.id
quoted_status_permalink不可用
quoted_statusdata.referenced_tweets (if type=quoted)expansions=referenced_tweets.id
retweet_countdata.public_metrics.retweet_counttweet.fields=public_metrics
favorite_countdata.public_metrics.like_counttweet.fields=public_metrics
favorited不可用
retweeted不可用
possibly_sensitivedata.possibly_sensitivetweet.fields=possibly_sensitive
langdata.langtweet.fields=lang
scopes不可用
withhelddata.withheldtweet.fields=withheld
示例
v1.1 中的 Tweet 对象

示例 URI 及参数:

https://api.x.com/1.1/statuses/lookup.json?id=1359554366051504129&tweet_mode=extended
v2 中的 Tweet 对象和请求

示例 URI 及参数:

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\n向新的… https://t.co/3cBZKZUevF 介绍管理关注 endpoint”,
“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”,
“text”: “去关注另一个小狗账户吧,我们不会评判的。\n\n向新的 #TwitterAPI 介绍管理关注 endpoint。您现在可以使用 v2 API 来关注和取消关注账户。了解更多 https://t.co/mtpd9VIMDa”,
“lang”: “en”,
“conversation_id”: “1359554366051504129”,
“possibly_sensitive”: false,
“reply_settings”: “everyone”,
“created_at”: “2021-02-10T17:26:34.000Z”,
“author_id”: “2244994945”,
“public_metrics”: {
“retweet_count”: 18,
“reply_count”: 11,
“like_count”: 98,
“quote_count”: 7
},
“entities”: {
“hashtags”: [{
“start”: 110,
“end”: 121,
“tag”: “TwitterAPI”
}],
“urls”: [{
“start”: 194,
“end”: 217,
“url”: “https://t.co/mtpd9VIMDa”,
“expanded_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”: “向 X API v2 介绍新的管理关注 endpoint”,
“description”: “关注还是不关注?您现在可以使用 X API v2 自由地回答这个问题。今天,我们很高兴地宣布向新的 Twitter API 发布新的管理关注 endpoint。正如我们在一个多月前推出关注查找 endpoint 时所预告的,管理关注关系的能力终于来了。这些是我们 v1.1 API 上最受欢迎的一些 endpoint,因此我们很高兴在 X API v2 上解锁广泛的用例。W…”,
“unwound_url”: “https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465
}]
},
“context_annotations”: [{
“domain”: {
“id”: “46”,
“name”: “品牌类别”,
“description”: “品牌垂直领域内缩小品牌范围的类别”
},
“entity”: {
“id”: “781974596752842752”,
“name”: “服务”
}
},
{
“domain”: {
“id”: “47”,
“name”: “品牌”,
“description”: “品牌和公司”
},
“entity”: {
“id”: “10045225402”,
“name”: “Twitter”
}
}
]
}]
}

用户对象

Twitter 1.1 格式Twitter v2 格式v2 必需参数
user_iddata.author_idtweet.fields=author_id
user.idN/A 使用 includes.users.id
user.id_strincludes.users.idexpansions=author_id
user.nameincludes.users.nameexpansions=author_id
user.screen_nameincludes.users.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
示例
1.1 中的用户对象v2 中的用户对象和请求
”user”: {
“id”: 2244994945,
“id_str”: “2244994945”,
“name”: “Twitter Dev”,
“screen_name”: “TwitterDev”,
“location”: “127.0.0.1”,
“description”: “The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.”,
“url”: “https://t.co/3ZX3TNiZCY”,
“entities”: {
“url”: {
“urls”: [{
“url”: “https://t.co/3ZX3TNiZCY”,
“expanded_url”: “https://developer.x.com/en/community”,
“display_url”: “developer.x.com/en/community”,
“indices”: [
0,
23
]
}]
},
“description”: {
“urls”: []
}
},
“protected”: false,
“followers_count”: 517232,
“friends_count”: 2032,
“listed_count”: 1722,
“created_at”: “Sat Dec 14 04:35:55 +0000 2013”,
“favourites_count”: 2134,
“utc_offset”: null,
“time_zone”: null,
“geo_enabled”: true,
“verified”: true,
“statuses_count”: 3677,
“lang”: null,
“contributors_enabled”: false,
“is_translator”: false,
“is_translation_enabled”: false,
“profile_background_color”: “FFFFFF”,
“profile_background_image_url”: “http://abs.twimg.com/images/themes/theme1/bg.png”,
“profile_background_image_url_https”: “https://abs.twimg.com/images/themes/theme1/bg.png”,
“profile_background_tile”: false,
“profile_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”,
“profile_banner_url”: “https://pbs.twimg.com/profile_banners/2244994945/1611792896”,
“profile_link_color”: “0084B4”,
“profile_sidebar_border_color”: “FFFFFF”,
“profile_sidebar_fill_color”: “DDEEF6”,
“profile_text_color”: “333333”,
“profile_use_background_image”: false,
“has_extended_profile”: true,
“default_profile”: false,
“default_profile_image”: false,
“following”: null,
“follow_request_sent”: null,
“notifications”: null,
“translator_type”: “regular”
}
{
“data”: [{
“author_id”: “2244994945”,
“id”: “1362876655061073928”,
“text”: “From our living rooms to yours 🐱‍💻🛋️Our developer advocates have some exciting Twitch streams and virtual events planned to help you get started with the new #TwitterAPI. Check out the schedule for details, and let us know if you want to see more!\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”: “The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #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”
}]
}
}

实体与扩展实体对象

Twitter 1.1 格式Twitter v2 格式v2 所需参数在 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_url不适用,请使用 includes.media.urlstring
entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media.fields=url&attachments.media_keysstring
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.w不可用
extended_entities.media.sizes.thumb.h不可用
extended_entities.media.sizes.thumb.resize不可用
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.resize不可用
extended_entities.media.sizes.small.w不可用
extended_entities.media.sizes.small.h不可用
extended_entities.media.sizes.small.resize不可用
extended_entities.media.sizes.medium.w不可用
extended_entities.media.sizes.medium.h不可用
extended_entities.media.sizes.medium.resize不可用
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
示例
v1.1 中的实体和扩展实体(含视频)v2 中的实体、附件和 includes

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”: [{
“text”: “test”,
“indices”: [
8,
13
]
}],
“symbols”: [],
“user_mentions”: [{
“screen_name”: “TwitterDev”,
“name”: “Twitter Dev”,
“id”: 2244994945,
“id_str”: “2244994945”,
“indices”: [
31,
42
]
}],
“urls”: [{
“url”: “https://t.co/XVLZ3uwikc”,
“expanded_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”,
“expanded_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”,
“expanded_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
}
]
},
“additional_media_info”: {
“monetizable”: 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”,
“expanded_url”: “https://developer.x.com/en”,
“display_url”: “developer.x.com/en”,
“status”: 200,
“title”: “使用案例、教程和文档”,
“description”: “使用 X API、X Ads API 和 X for Websites 发布和分析帖子、优化广告并创建独特的客户体验。让我们开始构建吧。”,
“unwound_url”: “https://developer.x.com/en
},
{
“start”: 115,
“end”: 138,
“url”: “https://t.co/dz4oByygWA”,
“expanded_url”: “https://x.com/furiouscamper/status/1370161532013735937/video/1”,
“display_url”: “pic.x.com/dz4oByygWA”
}
]
},
“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”,
“attachments”: {
“media_keys”: [
“7_1370161464028196868”
]
}
}],
“includes”: {
“media”: [{
“type”: “video”,
“height”: 1280,
“public_metrics”: {
“view_count”: 37
},
“width”: 720,
“media_key”: “7_1370161464028196868”,
“duration_ms”: 5140,
“preview_image_url”: “https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg
}],
“users”: [{
“public_metrics”: {
“followers_count”: 517233,
“following_count”: 2034,
“tweet_count”: 3677,
“listed_count”: 1727
},
“created_at”: “2013-12-14T04:35:55.000Z”,
“profile_image_url”: “https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“description”: “#TwitterDev 团队的官方声音,也是您获取与 #TwitterAPI 相关的更新、新闻和活动的官方来源。”,
“verified”: true,
“id”: “2244994945”,
“username”: “TwitterDev”,
“protected”: false,
“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”
}
]
}
},
“url”: “https://t.co/3ZX3TNiZCY”,
“name”: “Twitter Dev”,
“location”: “127.0.0.1”
}]
}
}

Place 对象

Twitter 1.1 格式Twitter v2 格式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
示例
v1.1 中的 Place 对象v2 中的 Place 对象

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”
}]
}
后续步骤

从 Native Enriched 数据格式迁移到 v2

Native Enriched 数据格式用于我们的 Enterprise 产品。 Native Enriched 数据格式已更新,提供已编辑 Tweet 的 metadata。要了解 Edit Tweet metadata 的更多信息,请参阅 Edit Tweets 基础 页面。 如果您使用的是 Standard v1.1 endpoint,请参阅 Standard v1.1 到 v2 指南。如果您使用带有 Activity Streams 的 Enterprise 产品,我们也提供了 Activity Streams 到 v2 指南。 X API v2 为 Tweetuser 对象引入了新的 JSON 设计。
  • 在 JSON 根级别,Native Enriched 格式在 results 数组中返回 Tweet 对象,而 X API v2 在 data 数组中返回。
  • X API v2 不再同时使用 favorites(Tweet 对象中)和 favourites(user 对象中),而统一使用 like。
  • X 采用约定:无值的 JSON 字段(例如 null)不写入负载(payload)。仅当 Tweet 和 user 属性为非 null 时才会包含。
  • v2 中所有 id 字段均为字符串格式
除了新的 JSON 格式变更外,我们还向 Tweet 对象引入了一组新字段,包括:
  • conversation_id
  • reply_settings
  • 媒体上的 alt_text
  • 两个新的 annotations 字段,包括 context 和 entities
  • 若干新的 metrics 字段
  • 若干新的 polls 字段
许多旧版且已弃用的字段将被移除:
  • contributors
  • 某些 entities.media 和 extended_entities.media 字段
  • filter_level
  • timestamp_ms
  • truncated

Native Enriched 与 v2 负载结构

下表展示了与 Native Enriched 格式相比,你可以从 v2 接收到的高层对象与格式。
Native Enriched 结构v2 结构
默认{
tweet object fields,

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

“edit_history_tweet_ids”
}]
}
使用已定义的 fields 和 expansions 参数{
“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”: []
}
字段映射 以下部分说明哪些 Native Enriched 字段映射到 v2 字段,以及接收这些新字段所需的 v2 参数。  

Tweet 对象

原生增强格式Twitter v2 格式v2 必需参数v2 中的类型
created_atdata.created_attweet.fields=created_at字符串
id不适用 - 请参阅 id
id_strdata.id默认字符串
textdata.text默认字符串
edit_historydata.edit_history_tweet_ids默认数组
edit_controlsdata.edit_controlstweet.fields=edit_controls对象
editabledata.edit_controls.is_edit_eligibletweet.fields=edit_controls布尔值
display_text_range不适用 - 文本已完整
sourcedata.sourcetweet.fields=source字符串
truncated不适用 - 文本已完整
Not availabledata.conversation_idtweet.fields=conversation_id字符串
Not availabledata.reply_settingstweet.fields=reply_settings字符串
in_reply_to_status_id不适用 - 请参阅 referenced_tweets.id
in_reply_to_status_id_strdata.referenced_tweets.id (if type=replied_to)expansions=referenced_tweets.id字符串
in_reply_to_user_id不适用 - 请参阅 in_reply_to_user_id_str
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对象
user.id_strdata.author_idtweet.fields=author_id字符串
geodata.geo.place_idtweet.fields=geo
coordinatesdata.geo.place_idtweet.fields=geo
placedata.geo.place_idtweet.fields=geo
is_quoted_statusdata.referenced_tweets.id (if type=quoted)tweet.fields=referenced_tweets字符串
extended_tweet.full_text不适用 - 文本已完整
Not availabledata.public_metricstweet.fields=public_metrics对象
quote_countdata.public_metrics.quote_counttweet.fields=public_metrics整数
reply_countdata.public_metrics.reply_counttweet.fields=public_metrics整数
retweet_countdata.public_metrics.retweet_counttweet.fields=public_metrics整数
favorite_countdata.public_metrics.like_counttweet.fields=public_metrics整数
Not availabledata.non_public_metricstweet.fields=non_public_metrics对象
Not availabledata.non_public_metrics.impression_counttweet.fields=non_public_metrics整数
Not availabledata.non_public_metrics.url_link_counttweet.fields=non_public_metrics整数
Not availabledata.non_public_metrics.user_profile_counttweet.fields=non_public_metrics整数
Not availabledata.organic_metricstweet.fields=organic_metrics对象
Not availabledata.organic_metrics.like_counttweet.fields=organic_metrics整数
Not availabledata.organic_metrics.retweet_counttweet.fields=organic_metrics整数
Not availabledata.organic_metrics.reply_counttweet.fields=organic_metrics整数
Not availabledata.organic_metrics.impression_counttweet.fields=organic_metrics整数
Not availabledata.organic_metrics.url_link_counttweet.fields=organic_metrics整数
Not availabledata.organic_metrics.user_profile_counttweet.fields=organic_metrics整数
Not availabledata.promoted_metricstweet.fields=promoted_metrics对象
Not availabledata.promoted_metrics.like_counttweet.fields=promoted_metrics整数
Not availabledata.promoted_metrics.retweet_counttweet.fields=promoted_metrics整数
Not availabledata.promoted_metrics.reply_counttweet.fields=promoted_metrics整数
Not availabledata.promoted_metrics.impression_counttweet.fields=promoted_metrics整数
Not availabledata.promoted_metrics.url_link_counttweet.fields=promoted_metrics整数
Not availabledata.promoted_metrics.user_profile_counttweet.fields=promoted_metrics整数
contributorsNot availableNot available
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对象数组
entities.annotationstweet.fields=entities,context_annotations对象
entities.annotations.contextdata.context_annotationstweet.fields=entities,context_annotations对象数组
No equivalentdata.context_annotations.domaintweet.fields=context_annotations对象
entities.annotations.context.context_domain_id_strdata.context_annotations.domain.idtweet.fields=context_annotations字符串
entities.annotations.context.context_domain_idNot availableNot available - 请参阅 data.context_annotations.domain.id 的字符串格式
entities.annotations.context.context_domain_namedata.context_annotations.domain.nametweet.fields=context_annotations字符串
entities.annotations.context.context_domain_descriptiondata.context_annotations.domain.descriptiontweet.fields=context_annotations字符串
No equivalentdata.context_annotations.entitytweet.fields=context_annotations对象
entities.annotations.context.context_entity_id_strdata.context_annotations.entity.idtweet.fields=context_annotations字符串
entities.annotations.context.context_entity_idNot availableNot available - 请参阅 data.context_annotations.entity.id 的字符串格式
entities.annotations.context.context_entity_namedata.context_annotations.entity.nametweet.fields=context_annotations字符串
entities.annotations.context.context_entity_descriptiondata.context_annotations.entity.descriptiontweet.fields=context_annotations字符串
entities.annotations.entitydata.entities.annotationstweet.fields=entities,context_annotations对象数组
extended_entitiesdata.attachmentstweet.fields=attachments对象
favoritedNot availableNot available
retweetedNot availableNot available
retweeted_status
possibly_sensitivedata.possibly_sensitivetweet.fields=possibly_sensitive布尔值
langdata.langtweet.fields=lang字符串
filter_levelNot availableNot available
scopesNot availableNot available
timestamp_msNot availableNot available
withhelddata.withheldtweet.fields=withheld对象数组
matching_rulesmatching_rules对象数组
matching_rules.idNot availableNot available
matching_rules.id_strmatching_rules.id在过滤的流中为默认值字符串
matching_rules.tagmatching_rules.tag在过滤的流中为默认值字符串

用户对象

原生增强格式Twitter v2 格式v2 必需参数v2 中的类型
userincludes.usersexpansions=author_id对象数组
user.id不适用不适用 - 参见 includes.users.id字符串
user.id_strincludes.users.idexpansions=author_id字符串
user.nameincludes.users.nameexpansions=author_id字符串
user.screen_nameincludes.users.usernameexpansions=author_id字符串
user.locationincludes.users.locationexpansions=author_id&user.fields=location对象
user.descriptionincludes.users.descriptionexpansions=author_id&user.fields=description字符串
不适用includes.users.urlexpansions=author_id&user.fields=url字符串
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布尔值
不适用includes.users.pinned_tweet_idexpansions=author_id&user.fields=pinned_tweet_id字符串
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字符串
user.translator_type不适用不适用
user.utc_offset不适用不适用
user.time_zone不适用不适用
user.geo_enabled不适用不适用
user.lang不适用不适用 - 可从 Tweet 的语言推断
user.contributors_enabled不适用不适用
user.is_translator不适用不适用
user.profile_background_color不适用不适用
user.profile_background_image_url不适用不适用
user.profile_background_image_url_https不适用不适用
user.profile_background_title不适用不适用
user.profile_sidebar_border_color不适用不适用
user.profile_sidebar_fill_color不适用不适用
user.profile_text_color不适用不适用
user.profile_user_background_image不适用不适用
user.profile_image_url参见 includes.users.profile_image_url
user.default_profile不适用不适用
user.default_profile_image不适用不适用
user.following不适用不适用
user.follow_request_sent不适用不适用
user.notifications不适用不适用
user.withheld_in_countriesincludes.users.withheldexpansions=author_id&user.fields=withheld对象
user.protectedincludes.users.protectedexpansions=author_id&user.fields=protected布尔值
不适用includes.users.entitiesexpansions=author_id&user.fields=entities对象
不适用includes.users.entities.urlexpansions=author_id&user.fields=entities对象
不适用includes.users.entities.url.urlsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.url.urls.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.url.urls.endexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.url.urls.urlexpansions=author_id&user.fields=entities字符串
user.urlincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.descriptionsexpansions=author_id&user.fields=entities对象
不适用includes.users.entities.descriptions.hashtagsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.descriptions.hashtags.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.descriptions.hashtags.endexpansions=author_id&user.fields=entities整数
包含于 user.descriptionincludes.users.entities.descriptions.hashtags.tagexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.descriptions.mentionsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.descriptions.mentions.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.descriptions.mentions.endexpansions=author_id&user.fields=entities整数
包含于 user.descriptionincludes.users.entities.descriptions.mentions.usernameexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.descriptions.cashtagsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.descriptions.cashtags.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.descriptions.cashtags.endexpansions=author_id&user.fields=entities整数
包含于 user.descriptionincludes.users.entities.descriptions.cashtags.tagexpansions=author_id&user.fields=entities字符串

entities 与 expanded_entities 对象

原生增强格式Twitter v2 格式必需的 v2 参数v2 中的类型
entitiesdata.entitiestweet.fields=entitiesObject
entities.hashtagsdata.entities.hashtagstweet.fields=entitiesArray of objects
entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesInteger
entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesInteger
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=entitiesInteger
entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesInteger
entities.urls.urldata.entities.urls.urltweet.fields=entitiesString
entities.urls.expanded_urldata.entities.urls.expanded_urltweet.fields=entitiesString
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
不可用data.entities.urls.imagestweet.fields=entitiesArray of objects
不可用data.entities.urls.images.urltweet.fields=entitiesString
不可用data.entities.urls.images.widthtweet.fields=entitiesInt
不可用data.entities.urls.images.heighttweet.fields=entitiesInt
entities.user_mentionsdata.entities.mentionstweet.fields=entitiesArray of objects
entities.user_mentions.indicies[0]data.entities.mentions.starttweet.fields=entitiesInteger
entities.user_mentions.indicies[1]data.entities.mentions.endtweet.fields=entitiesInteger
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=entitiesInteger
entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesInteger
entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesString
entities.media OR extended_entities.mediaincludes.mediaexpansions=attachments.media_keysArray of objects
entities.media.id_str OR extended_entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysString
entities.media.id OR extended_entities.media.id不可用 - id 是字符串
entities.media.type OR extended_entities.media.typeincludes.media.media.typeexpansions=attachments.media_keysString
entities.media.indices OR extended_entities.media.indices不可用不可用
不可用includes.media.alt_textexpansions=attachments.media_keys&media.fields=alt_textString
entities.media.additional_media_info OR extended_entities.media.additional_media_info不可用不可用
entities.media.additional_media_info.monetizable OR extended_entities.media.additional_media_info.monetizable不可用不可用
entities.media.media_url OR extended_entities.media.media_url不适用 - 请参见 includes.media.urlString
entities.media.media_url_https OR extended_entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_keys&media.fields=urlString
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_urlString
extended_entitiesdata.attachmentstweet_fields=attachmentsObject
extended_entitiesdata.attachments.media_keystweet.fields=attachmentsArray of objects
不可用data.attachments.poll_idstweet.fields=attachmentsArray of objects
extended_entities.media.sizes.thumb.w不可用
extended_entities.media.sizes.thumb.h不可用
extended_entities.media.sizes.thumb.resize不可用
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.resize不可用不可用
extended_entities.media.sizes.small.w不可用不可用
extended_entities.media.sizes.small.h不可用不可用
extended_entities.media.sizes.small.resize不可用不可用
extended_entities.media.sizes.medium.w不可用不可用
extended_entities.media.sizes.medium.h不可用不可用
extended_entities.media.sizes.medium.resize不可用不可用
extended_entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlString
extended_entities.media.video_info.aspect_ratio不可用不可用
extended_entities.media.variants不可用不可用
extended_entities.media.variants.bitrate不可用不可用
extended_entities.media.variants.content_type不可用不可用
extended_entities.media.variants.url不可用不可用
extended_entities.media.video_info.duration_millisincludes.media.duration_msexpansions=attachments.media_keys&media.fields=duration_msInt
不可用includes.media.public_metricsexpansions=attachments.media_keys&media.fields=public_metricsObject
不可用includes.media.public_metrics.view_countexpansions=attachments.media_keys&media.fields=public_metricsInt
不可用includes.media.non_public_metricsexpansions=attachments.media_keys&media.fields=non_public_metricsObject
不可用includes.media.non_public_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
不可用includes.media.non_public_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
不可用includes.media.non_public_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
不可用includes.media.non_public_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
不可用includes.media.non_public_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=non_public_metricsInt
不可用includes.media.organic_metricsexpansions=attachments.media_keys&media.fields=organic_metricsObject
不可用includes.media.organic_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
不可用includes.media.organic_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
不可用includes.media.organic_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
不可用includes.media.organic_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
不可用includes.media.organic_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
不可用includes.media.organic_metrics.view_countexpansions=attachments.media_keys&media.fields=organic_metricsInt
不可用includes.media.promoted_metricexpansions=attachments.media_keys&media.fields=promoted_metricsObject
不可用includes.media.promoted_metric.playback_0_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
不可用includes.media.promoted_metric.playback_25_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
不可用includes.media.promoted_metric.playback_50_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
不可用includes.media.promoted_metric.playback_75_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
不可用includes.media.promoted_metric.playback_100_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt
不可用includes.media.promoted_metrics.view_countexpansions=attachments.media_keys&media.fields=promoted_metricsInt

Place 对象

本地增强格式Twitter v2 格式必需的 v2 参数v2 中的类型
placeincludes.placesexpansions=geo.place_id对象数组
place.idincludes.places.idexpansions=geo.place_id字符串
place.url不提供不提供
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对象

投票对象

原生增强格式Twitter v2 格式v2 所需参数v2 中的类型
entities.pollsincludes.pollsexpansions=attachments.poll_ids对象数组
不适用includes.polls.idexpansions=attachments.poll_ids字符串
entities.poll.optionsincludes.polls.optionsexpansions=attachments.poll_ids对象数组
entities.polls.options.positionincludes.polls.options.positionexpansions=attachments.poll_ids整数
entities.polls.options.textincludes.polls.options.labelexpansions=attachments.poll_ids字符串
不适用includes.polls.options.votesexpansions=attachments.poll_ids整数
不适用includes.polls.voting_statusexpansions=attachments.poll_ids&poll.fields=voting_status字符串
entities.polls.duration_minutesincludes.polls.duration_minutesexpansions=attachments.poll_ids&poll.fields=duration_minutes整数
entities.polls.end_datetimeincludes.polls.end_datetimeexpansions=attachments.poll_ids&poll.fields=end_datetime日期(ISO 8601)

从 Activity Streams 数据格式迁移到 v2

Activity Streams 数据格式适用于我们的 Enterprise 产品。 Activity Streams 数据格式已更新,以提供已编辑 Tweet 的 metadata。要了解 Edit Tweet metadata 的更多信息,请参阅 Edit Tweets 基础 页面。 如果您使用的是 Standard v1.1 的 endpoint,请参阅 Standard v1.1 到 v2 指南。如果您使用的是 premium 的 endpoint,或 Enterprise 的 Native Enriched 格式,请参阅 Native Enriched 到 v2 指南 X API v2 为 Postuser 对象引入了新的 JSON 设计。
  • 在 JSON 根级别,Activity Streams 格式将 Tweet 对象返回在 results 数组中,而 X API v2 返回在 data 数组中。
  • X API v2 的 JSON 不再称为转发与引用的“activities”,而是直接称为转发和引用的 Tweets。
  • X API v2 不再在 Tweet 对象中使用 favorites、在 user 对象中使用 favourites,而是统一使用术语 like。
  • Twitter 采用的约定是:没有值的 JSON 字段(例如 null)不会写入负载。仅当 Tweet 和 user 属性的值非 null 时才会包含。
  • v2 中所有 id 字段均为字符串格式。
除新的 JSON 格式变更外,我们还为 Tweet 对象引入了一组新字段,包括:
  • conversation_id
  • reply_settings
  • 媒体上的 alt_text
  • 两个新的 annotations 字段,包括 context 和 entities
  • 若干新的 metrics 字段
  • 若干新的 polls 字段
许多旧版和已弃用的字段已被移除或替换:
  • display_text_range
  • generator
  • gnip
  • link
  • objectType
  • provider
  • 将 twitter_entities.symbols 替换为 data.entities.cashtags
  • 某些 twitter_extended_entities.media 和 twitter_entities.media 字段
  • twitter_filter_level
  • twitterTimeZone
  • verb

Tweet 对象

Activity Streams 格式Twitter v2 格式v2 所需参数v2 中的类型
postedTimedata.created_attweet.fields=created_at日期(ISO 8601)
generator不适用不适用
generator.link不适用不适用
generator.displayNamedata.sourcetweet.fields=source字符串
twitter_langdata.langtweet.fields=lang字符串
不适用data.conversation_idtweet.fields=conversation_id字符串
不适用data.reply_settingstweet.fields=reply_settings字符串
不适用data.possibly_sensitivetweet.fields=possibly_sensitive布尔值
不适用data.withheldtweet.fields=withheld对象
objectType不适用不适用
verb不适用不适用
provider不适用不适用
provider.objectType不适用不适用
provider.displayName不适用不适用
provider.link不适用不适用
link不适用不适用
display_text_range不适用不适用
object不适用不适用
object.objectType不适用不适用
object.id不适用不适用
object.summarydata.textdefault字符串
object.edit_historydata.edit_history_tweet_idsdefault数组
object.edit_controlsdata.edit_controlstweet.fields=edit_controls对象
object.editabledata.edit_controls.is_edit_eligibletweet.fields=edit_controls布尔值
object.link不适用不适用
object.postedTimedata.created_attweet.fields=created_at日期(ISO 8601)
源自 actor.iddata.author_idtweet.fields=created_at
twitter_filter_level不适用不适用
源自 inReplyTo.link 中的用户名data.in_reply_to_user_idtweet.fields=in_reply_to_user_id字符串
不适用data.referenced_tweetstweet.fields=referenced_tweets对象数组
不适用data.referenced_tweets.typetweet.fields=referenced_tweets字符串
源自 inReplyTo.linkdata.referenced_tweets.idtweet.fields=referenced_tweets字符串
不适用data.attachmentstweet.fields=attachments对象
源自 twitter_entities.media.id_strdata.attachments.media_keystweet.fields=attachments数组
不适用data.attachments.poll_idstweet.fields=attachments数组
twitter_entitiesdata.entitiestweet.fields=entities对象
不适用data.entities.annotationstweet.fields=entities对象数组
不适用data.entities.annotations.starttweet.fields=entities整数
不适用data.entities.annotations.endtweet.fields=entities整数
不适用data.entities.annotations.probabilitytweet.fields=entities浮点数
不适用data.entities.annotations.typetweet.fields=entities字符串
不适用data.entities.annotations.normalized_texttweet.fields=entities字符串
twitter_entities.urlsdata.entities.urlstweet.fields=entities对象数组
twitter_entities.urls.indices[0]data.entities.urls.starttweet.fields=entities整数
twitter_entities.urls.indices[1]data.entities.urls.endtweet.fields=entities整数
twitter_entities.urls.urldata.entities.urls.urltweet.fields=entities字符串
twitter_entities.urls.expanded_urldata.entities.urls.expanded_urltweet.fields=entities字符串
twitter_entities.urls.display_urldata.entities.urls.display_urltweet.fields=entities字符串
不适用data.entities.urls.imagestweet.fields=entities对象数组
不适用data.entities.urls.images.urltweet.fields=entities字符串
不适用data.entities.urls.images.widthtweet.fields=entities整数
不适用data.entities.urls.images.heighttweet.fields=entities整数
gnip.urls.expanded_statusdata.entities.urls.statustweet.fields=entities整数
gnip.urls.expanded_url_titledata.entities.urls.titletweet.fields=entities字符串
gnip.urls.expanded_url_descriptiondata.entities.urls.descriptiontweet.fields=entities字符串
gnip.urls.expanded_urldata.entities.urls.unwound_urltweet.fields=entities字符串
twitter_entities.symbolsdata.entities.cashtagstweet.fields=entities对象数组
twitter_entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entities整数
twitter_entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entities整数
twitter_entities.symbols.textdata.entities.cashtags.tagtweet.fields=entities字符串
twitter_entities.hashtagsdata.entities.hashtagstweet.fields=entities对象数组
twitter_entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entities整数
twitter_entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entities整数
twitter_entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entities字符串
twitter_entities.user_mentionsdata.entities.mentionstweet.fields=entities对象数组
twitter_entities.user_mentions.indices[0]data.entities.mentions.starttweet.fields=entities整数
twitter_entities.user_mentions.indices[1]data.entities.mentions.endtweet.fields=entities整数
twitter_entities.user_mentions.screen_namedata.entities.mentions.tagtweet.fields=entities字符串
twitter_entities.user_mentions.id_strdata.entities.mentions.idtweet.fields=entities字符串
twitter_entities.user_mentions.id不适用不适用
不适用data.context_annotationstweet.fields=context_annotations对象数组
不适用data.context_annotations.domaintweet.fields=context_annotations对象
不适用data.context_annotations.domain.idtweet.fields=context_annotations字符串
不适用data.context_annotations.domain.nametweet.fields=context_annotations字符串
不适用data.context_annotations.domain.descriptiontweet.fields=context_annotations字符串
不适用data.context_annotations.entitytweet.fields=context_annotations对象
不适用data.context_annotations.entity.idtweet.fields=context_annotations字符串
不适用data.context_annotations.entity.nametweet.fields=context_annotations字符串
不适用data.context_annotations.entity.descriptiontweet.fields=context_annotations字符串
geodata.geotweet.fields=geo对象
源自 location.linkdata.geo.place_idtweet.fields=geo字符串
不适用data.public_metricstweet.fields=public_metrics对象
favoritesCountdata.public_metrics.like_counttweet.fields=public_metrics整数
retweetCountdata.public_metrics.retweet_counttweet.fields=public_metrics整数
不适用data.public_metrics.quote_counttweet.fields=public_metrics整数
不适用data.public_metrics.reply_counttweet.fields=public_metrics整数
不适用data.non_non_public_metricstweet.fields=non_public_metrics对象
不适用data.non_public_metrics.impression_counttweet.fields=non_public_metrics整数
不适用data.non_public_metrics.url_link_counttweet.fields=non_public_metrics整数
不适用data.non_public_metrics.user_profile_counttweet.fields=non_public_metrics整数
不适用data.organic_metricstweet.fields=organic_metrics对象
不适用data.organic_metrics.like_counttweet.fields=organic_metrics整数
不适用data.organic_metrics.retweet_counttweet.fields=organic_metrics整数
不可用data.organic_metrics.reply_counttweet.fields=organic_metricsInt
不可用data.organic_metrics.impression_counttweet.fields=organic_metricsInt
不可用data.organic_metrics.url_link_counttweet.fields=organic_metricsInt
不可用data.organic_metrics.user_profile_counttweet.fields=organic_metricsInt
不可用data.promoted_metricstweet.fields=promoted_metricsObject
不可用data.promoted_metrics.like_counttweet.fields=promoted_metricsInt
不可用data.promoted_metrics.retweet_counttweet.fields=promoted_metricsInt
不可用data.promoted_metrics.reply_counttweet.fields=promoted_metricsInt
不可用data.promoted_metrics.impression_counttweet.fields=promoted_metricsInt
不可用data.promoted_metrics.url_link_counttweet.fields=promoted_metricsInt
不可用data.promoted_metrics.user_profile_counttweet.fields=promoted_metricsInt
gnip.profileLocations不可用不可用
gnip.profileLocations.address不可用不可用
gnip.profileLocations.address.country不可用不可用
gnip.profileLocations.address.countryCode不可用不可用
gnip.profileLocations.displayName不可用不可用
gnip.profileLocations.geo不可用不可用
gnip.profileLocations.geo.coordinates不可用不可用
gnip.profileLocations.geo.type不可用不可用
gnip.profileLocations.objectType不可用不可用

用户对象

Activity Streams 格式Twitter v2 格式v2 所需参数v2 中的类型
actorincludes.usersexpansions=author_id对象数组
源自 actor.idincludes.users.idexpansions=author_id字符串
actor.displayNameincludes.users.nameexpansions=author_id字符串
actor.preferredUsernameincludes.users.usernameexpansions=author_id字符串
actor.postedTimeincludes.users.created_atexpansions=author_id&user.fields=created_at日期(ISO 8601)
actor.summaryincludes.users.descriptionexpansions=author_id&user.fields=description字符串
不适用includes.users.pinned_tweet_idexpansions=author_id&user.fields=pinned_tweet_id字符串
不适用includes.users.protectedexpansions=author_id&user.fields=protected布尔值
actor.link不适用不适用 - 由 includes.users.username 构造
actor.twitterTimeZone不适用不适用 - 从 Tweet 的 created_at 推断
actor.utcOffset不适用不适用 - 从 Tweet 的 created_at 推断
actor.favoritesCount不适用不适用
actor.followersCountincludes.users.public_metrics.followers_countexpansions=author_id&user.fields=public_metrics整数
actor.friendsCountincludes.users.public_metrics.following_countexpansions=author_id&user.fields=public_metrics整数
actor.listedCountincludes.users.public_metrics.listed_countexpansions=author_id&user.fields=public_metrics整数
actor.statusesCountincludes.users.public_metrics.tweet_countexpansions=author_id&user.fields=public_metrics整数
actor.languages[]不适用不适用 - 从 Tweet 的 lang 推断
actor.location.displayNameincludes.users.locationexpansions=author_id&user.fields=location字符串
actor.imageincludes.users.profile_image_urlexpansions=author_id&user.fields=profile_image_url字符串
actor.linksincludes.users.urlexpansions=author_id&user.fields=url字符串
actor.verifiedincludes.users.verifiedexpansions=author_id&user.fields=verified布尔值
不适用includes.users.withheldexpansions=author_id&user.fields=withheld对象
不适用includes.users.entitiesexpansions=author_id&user.fields=entities对象
不适用includes.users.entities.urlexpansions=author_id&user.fields=entities对象
actor.linksincludes.users.entities.url.urlsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.url.urls.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.url.urls.endexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.url.urls.urlexpansions=author_id&user.fields=entities字符串
actor.links.hrefincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.descriptionexpansions=author_id&user.fields=entities对象
不适用includes.users.entities.description.hashtagsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.description.hashtags.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.description.hashtags.endexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.description.hashtags.tagexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.description.mentionsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.description.mentions.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.description.mentions.endexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.description.mentions.usernameexpansions=author_id&user.fields=entities字符串
不适用includes.users.entities.description.cashtagsexpansions=author_id&user.fields=entities对象数组
不适用includes.users.entities.description.cashtags.startexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.description.cashtags.endexpansions=author_id&user.fields=entities整数
不适用includes.users.entities.description.cashtags.tagexpansions=author_id&user.fields=entities字符串

投票对象

Activity Streams 格式Twitter v2 格式v2 必需参数v2 中的类型
不适用includes.pollsexpansions=attachments.poll_ids对象数组
不适用includes.polls.idexpansions=attachments.poll_ids字符串
不适用includes.polls.optionsexpansions=attachments.poll_ids对象数组
不适用includes.polls.options.positionexpansions=attachments.poll_ids整数
不适用includes.polls.options.labelexpansions=attachments.poll_ids字符串
不适用includes.polls.options.votesexpansions=attachments.poll_ids整数
不适用includes.polls.voting_statusexpansions=attachments.poll_ids&poll.fields=voting_status字符串
不适用includes.polls.duration_minutesexpansions=attachments.poll_ids&poll.fields=duration_minutes整数
不适用includes.polls.end_datetimeexpansions=attachments.poll_ids&poll.fields=end_datetime日期(ISO 8601)

Place 对象

Activity Streams 格式Twitter v2 格式v2 必需参数v2 中的类型
locationincludes.placesexpansions=geo.place_id对象数组
location.displayNameincludes.places.full_nameexpansions=geo.place_id字符串
从 location.link 解析includes.places.idexpansions=geo.place_id字符串
location.nameincludes.places.nameexpansions=geo.place_id&place.fields=name字符串
location.country_codeincludes.places.countryexpansions=geo.place_id&place.fields=country字符串
location.twitter_place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_type字符串
location.twitter_country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_code字符串
location.geoincludes.places.geoexpansions=geo.place_id&place.fields=geo对象
location.geo.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=geo字符串
location.geo.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geo数组
不可用includes.places.geo.propertiesexpansions=geo.place_id&place.fields=geo对象

媒体对象

Activity Streams 格式Twitter v2 格式v2 所需参数v2 中的类型
twitter_entities.media OR twitter_extended_entities.mediaincludes.mediaexpansions=attachments.media_keys对象数组
twitter_entities.media.id_str OR twitter_extended_entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keys字符串
twitter_entities.media.id OR twitter_extended_entities.media.id不可用不可用
twitter_entities.media.indices OR twitter_extended_entities.media.indices不可用不可用
twitter_entities.media.additional_media_info OR twitter_extended_entities.media.additional_media_info不可用不可用
twitter_entities.media.additional_media_info.monetizable OR twitter_extended_entities.media.additional_media_info.monetizable不可用不可用
twitter_entities.media.media_url OR twitter_extended_entities.media.media_url不可用不可用
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_url字符串
twitter_entities.media.url OR twitter_extended_entities.media.url不可用不可用
twitter_entities.media.display_url OR twitter_extended_entities.media.display_url不可用不可用
twitter_entities.media.expanded_url OR twitter_extended_entities.media.expanded_url不可用不可用
twitter_entities.media.type OR twitter_extended_entities.media.typeincludes.media.typeexpansions=attachments.media_keys字符串
twitter_entities.media.sizes OR twitter_extended_entities.media.sizes不可用不可用
twitter_entities.media.sizes.thumb OR twitter_extended_entities.media.sizes.thumb不可用不可用
twitter_entities.media.sizes.thumb.h OR twitter_extended_entities.media.sizes.thumb.h不可用不可用
twitter_entities.media.sizes.thumb.w OR twitter_extended_entities.media.sizes.thumb.w不可用不可用
twitter_entities.media.sizes.thumb.resize OR twitter_extended_entities.media.sizes.thumb.resize不可用不可用
twitter_entities.media.sizes.small OR twitter_extended_entities.media.sizes.small不可用不可用
twitter_entities.media.sizes.small.h OR twitter_extended_entities.media.sizes.small.h不可用不可用
twitter_entities.media.sizes.small.w OR twitter_extended_entities.media.sizes.small.w不可用不可用
twitter_entities.media.sizes.small.resize OR twitter_extended_entities.media.sizes.small.resize不可用不可用
twitter_entities.media.sizes.medium OR twitter_extended_entities.media.sizes.medium不可用不可用
twitter_entities.media.sizes.medium.h OR twitter_extended_entities.media.sizes.medium.h不可用不可用
twitter_entities.media.sizes.medium.w OR twitter_extended_entities.media.sizes.medium.w不可用不可用
twitter_entities.media.sizes.medium.resize OR twitter_extended_entities.media.sizes.medium.resize不可用不可用
twitter_entities.media.sizes.large OR twitter_extended_entities.media.sizes.large不可用不可用
twitter_entities.media.sizes.large.h OR twitter_extended_entities.media.sizes.large.hincludes.media.heightexpansions=attachments.media_keys&media.fields=height整数
twitter_entities.media.sizes.large.w OR twitter_extended_entities.media.sizes.large.wincludes.media.widthexpansions=attachments.media_keys&media.fields=width整数
twitter_entities.media.sizes.large.resize OR twitter_extended_entities.media.sizes.large.resize不可用不可用
twitter_extended_entities.media.video_info不可用不可用
twitter_extended_entities.media.video_info.aspect_ratio不可用不可用
twitter_extended_entities.media.video_info.duration_millisincludes.media.duration_msexpansions=attachments.media_keys&media.fields=duration_ms整数
twitter_extended_entities.media.video_info.variants不可用不可用
twitter_extended_entities.media.video_info.variants.bitrate不可用不可用
twitter_extended_entities.media.video_info.variants.content_type不可用不可用
twitter_extended_entities.media.video_info.variants.url不可用不可用
Not availableincludes.media.alt_textexpansions=attachments.media_keys&media.fields=alt_text字符串
Not availableincludes.media.public_metricsexpansions=attachments.media_keys&media.fields=public_metrics对象
Not availableincludes.media.public_metrics.view_countexpansions=attachments.media_keys&media.fields=public_metrics整数
Not availableincludes.media.non_public_metricsexpansions=attachments.media_keys&media.fields=non_public_metrics对象
Not availableincludes.media.non_public_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=non_public_metrics整数
Not availableincludes.media.non_public_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=non_public_metrics整数
Not availableincludes.media.non_public_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=non_public_metrics整数
Not availableincludes.media.non_public_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=non_public_metrics整数
Not availableincludes.media.non_public_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=non_public_metrics整数
Not availableincludes.media.organic_metricsexpansions=attachments.media_keys&media.fields=organic_metrics对象
Not availableincludes.media.organic_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=organic_metrics整数
Not availableincludes.media.organic_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=organic_metrics整数
Not availableincludes.media.organic_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=organic_metrics整数
Not availableincludes.media.organic_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=organic_metrics整数
Not availableincludes.media.organic_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=organic_metrics整数
Not availableincludes.media.organic_metrics.view_countexpansions=attachments.media_keys&media.fields=organic_metrics整数
Not availableincludes.media.promoted_metricsexpansions=attachments.media_keys&media.fields=promoted_metrics对象
Not availableincludes.media.promoted_metrics.playback_0_countexpansions=attachments.media_keys&media.fields=promoted_metrics整数
Not availableincludes.media.promoted_metrics.playback_25_countexpansions=attachments.media_keys&media.fields=promoted_metrics整数
Not availableincludes.media.promoted_metrics.playback_50_countexpansions=attachments.media_keys&media.fields=promoted_metrics整数
Not availableincludes.media.promoted_metrics.playback_75_countexpansions=attachments.media_keys&media.fields=promoted_metrics整数
Not availableincludes.media.promoted_metrics.playback_100_countexpansions=attachments.media_keys&media.fields=promoted_metrics整数
Not availableincludes.media.promoted_metrics.view_countexpansions=attachments.media_keys&media.fields=promoted_metrics整数

匹配规则对象

Activity Streams 格式Twitter v2 格式v2 必需参数v2 中的类型
gnip.matching_rulesmatching_rules过滤的流中的默认值对象数组
gnip.matching_rules.tagmatching_rules.tag过滤的流中的默认值字符串
gnip.matching_rules.tag.id不可用不可用
gnip.matching_rules.tag.id_strmatching_rules.id过滤的流中的默认值字符串

可视化数据格式迁移工具

可视化数据格式迁移工具是一个网页应用,用于展示针对给定的Tweet或用户对象,从X API v1.1 数据格式X API v2 格式的字段映射。您可以向该应用提供Tweet ID或user ID来查看此映射。 请注意,您需要使用您的Twitter账号登录才能使用该App。
I