跳转到主要内容
企业版端点已更新,可提供已编辑 Post 的元数据。 “编辑 Post”功能于 2022 年 9 月 1 日首次在 X 员工中引入进行测试。 自该日期起,符合条件的 Post 可在 30 分钟内编辑,最多 5 次。 自 2022 年 9 月 29 日起创建的 Post,其所有对象均包含 Post 编辑元数据,即使该 Post 从未被编辑。 每次编辑 Post 时,都会创建一个新的 Post ID。 Post 的编辑历史可通过将这些 ID 串联起来加以描述,并以原始 ID 开始。 此外,如果编辑链中的任一 Post 被删除,该链中的所有 Post 也会同时被删除。 这些元数据详情会自动包含。无需提供请求参数,即可将可用的编辑历史作为 Post 对象的一部分返回。 通过这些新增的元数据,开发者可以了解:
  • 如果某个 Post 在创建时符合可编辑条件。某些 Post(例如包含投票的或已排程发布的 Post)无法编辑。
  • Post 可在 30 分钟内进行编辑,且最多可编辑 5 次。对于可编辑的 Post,你可以查看剩余的可编辑时间以及仍可进行的编辑次数。
  • 如果你正在查看某条 Post 的已编辑版本。在大多数情况下,除非通过 Post ID 请求该 Post 的特定历史版本,否则 API 将返回该 Post 的最新版本。
在根层级新增了三个 Post 属性:
  • edit_history  - 提供与该 Post 的编辑历史关联的所有 Post ID。“initial_tweet_id” 属性表示原始 Post,“edit_tweet_ids” 属性为一个数组,包含与其编辑历史关联的所有 ID。若该 Post 未曾编辑,此数组将仅包含一个 ID。
"edit_history": {
    "initial_tweet_id": "1283764123",
    "edit_tweet_ids": ["1283764123"]
  }
  • edit_controls - 提供属性,用于指示 30 分钟编辑窗口的结束时间,以及剩余可编辑的次数。
“edit_controls”:{
  “editable_until_ms”: 1660155761384,
  “edits_remaining”: 3
}
  • editable - 表示该 Post 在创建时是否可进行编辑。
“editable”: true 大多数 Post 符合条件,但以下类型的 Post 不符合:
  • Post 已被推广
  • Post 包含投票
  • Post 是对他人线程的回复
  • Post 是一次转推(注意:引用推文可编辑)
  • Post 为非广播(nullcast)
  • 社区 Post
  • 超级关注 Post
  • 协作型 Post
未编辑 Post 的示例属性 下面的 JSON 展示了在新增“编辑 Post”功能后发布的 Post 所包含的编辑元数据。此示例为一个没有编辑历史的 Post。 请注意,“edit_tweet_ids” 数组仅包含一个 id。
{
  "created_at": "Wed Aug 16 18:29:02 +0000 2022",
  "id": 1557433858676740098,
  "id_str": "1557433858676740098",
  "text": "我在想自己是否会用到编辑按钮",
  "edit_history": {
    "initial_tweet_id": "1557433858676740098",
    "edit_tweet_ids": ["1557433858676740098"]
  },
  "edit_controls": {
    "editable_until_ms": 1660155761384,
    "edits_remaining": 5
  },
  "editable": true
}
已编辑的 Post 示例属性 下面的 JSON 展示了在添加“编辑 Post”功能后发布的帖子所包含的编辑元数据。该示例对应一条仅编辑过一次的 Post。 请注意,“edit_tweet_ids” 数组包含两个 ID:一个对应原始的 Post,另一个对应编辑后的更新。
{
  "created_at": "Wed Aug 16 18:35:42 +0000 2022",
  "id": 1557445923210514432,
  "id_str": "1557445923210514432",
  "text": "我想知道自己是否会用到“编辑”按钮",
  "edit_history": {
    "initial_tweet_id": "1557433858676740098",
    "edit_tweet_ids": ["1557433858676740098", "1557445923210514432"]
  },
  "edit_controls": {
    "editable_until_ms": 1660155761384,
    "edits_remaining": 4
  },
  "editable": true
}
合规支持 Compliance Firehose 和 v2 的 batch compliance endpoint 均已更新,现已支持编辑 Post: 在 Compliance Firehose 中新增了一个“tweet_edit”事件类型。
{
  "tweet_edit": {
    "id": <tweetId>,
    "initial_tweet_id": <tweetId>,
    "edit_tweet_ids": [<tweetId1>, <tweetId2>, <tweetId3> ...],
    "timestamp_ms": "<timestampMsStr>"
  }
}