跳转到主要内容
Enterprise endpoint 已更新,现可提供已编辑 Post 的 metadata。编辑 Post 功能最初于 2022 年 9 月 1 日在 X 员工中开始测试。从该日期起,符合条件的 Post 可在 30 分钟内编辑,最多可编辑 5 次。自 2022 年 9 月 29 日起创建的所有 Post 对象均包含 Post 编辑 metadata,即使该 Post 从未被编辑过。每次编辑 Post 时,系统都会创建一个新的 Post ID。Post 的编辑历史可通过将这些 ID 串联起来进行描述,从原始 ID 开始。此外,如果编辑链中的任何一个 Post 被删除,该链中的所有 Post 都将被删除。 这些 metadata 详细信息会自动包含。无需请求参数即可将可用的编辑历史记录作为 Post 对象的一部分包含。 通过这些新的 metadata,开发者可以了解:
  • 如果该 Post 在创建时具备可编辑资格。某些 Post(例如包含投票的或已排程发布的 Post)无法编辑。
  • Post 可在发布后 30 分钟内编辑,且最多可修改 5 次。对于可编辑的 Post,您可以查看是否仍有剩余编辑时间以及还可进行的编辑次数。
  • 如果你正在查看某条 Post 的已编辑版本。大多数情况下,除非通过 Post ID 明确请求某个特定的历史版本,否则 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 是一次转发(注意:引用 Tweet 可进行编辑)
  • Post 为 nullcast
  • 社区 Post
  • 超级关注 Post
  • 协作式 Post
未编辑 Post 的示例属性 下面的 JSON 突出显示了在添加编辑 Post 功能后发布的 Post 所包含的编辑 metadata。此示例针对没有编辑历史记录的 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 所包含的编辑 metadata。此示例针对已进行过一次编辑的 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” 事件 type。
{
  "tweet_edit": {
    "id": <tweetId>,
    "initial_tweet_id": <tweetId>,
    "edit_tweet_ids": [<tweetId1>, <tweetId2>, <tweetId3> ...],
    "timestamp_ms": "<timestampMsStr>"
  }
}
I