> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 取消点赞推文

> 移除源用户对某条推文的点赞。通过 AIsa 网关代理官方 X v2 unlike-post 端点。

移除源用户对某条推文的点赞。此接口代理官方 [X v2 `DELETE /2/users/{id}/likes/{tweet_id}` 端点](https://docs.x.com/x-api/users/unlike-post)，并通过 AIsa 网关的 `https://api.aisa.one/apis/v1/twitter/unlike_twitter` 对外提供。为与其他 Twitter 写入端点保持一致，AIsa 使用 `POST`。

## 前置条件

* 一个 **AIsa API 密钥**（每个请求均使用 Bearer token）。
* 对源用户账户执行一次性 **OAuth 授权**。通过调用 [`POST /apis/v1/twitter/auth_twitter`](/zh/api-reference/twitter/post_twitter-auth-twitter) 关联您的 X 账户——AIsa 会将会话与您的 API 密钥绑定存储，并在每次写入调用中自动使用该会话。
* X 会话必须具有 `like.write`、`tweet.read`、`users.read` 权限范围。

## 响应字段

| 字段           | 类型      | 含义                                                       |
| ------------ | ------- | -------------------------------------------------------- |
| `data.liked` | boolean | 点赞移除后为 `false`。即使源用户最初并未点赞该推文，也会返回 `false`——取消点赞操作具有幂等性。 |

## 幂等性

对源用户未点赞的推文执行取消点赞不会产生任何变更。端点仍会返回 `200` 和 `{ "data": { "liked": false } }`。可安全重试。

## 常见 4xx 原因

* `400 invalid-request`——缺少 `tweet_id` 或其值不是数字
* `403 client-forbidden`——OAuth 会话缺少 `like.write` 权限范围。请通过 `auth_twitter` 重新关联。
* `404 resource-not-found`——推文不存在或对源用户不可见。

更多信息请参阅[错误代码](/zh/api-reference/errors)和[速率限制](/zh/api-reference/rate-limits)。

## 相关内容

<CardGroup cols={3}>
  <Card title="关联 X 账户" icon="key" href="/zh/api-reference/twitter/post_twitter-auth-twitter">
    启动此端点所需的 OAuth 流程。
  </Card>

  <Card title="点赞推文" icon="heart" href="/zh/api-reference/twitter/post_twitter-like-twitter">
    相反的操作。
  </Card>

  <Card title="发布推文" icon="pen" href="/zh/api-reference/twitter/post_twitter-post-twitter">
    另一个使用相同 OAuth 会话的写入端点。
  </Card>
</CardGroup>


## OpenAPI

````yaml openapi/zh/twitter-actions.json POST /twitter/unlike_twitter
openapi: 3.0.3
info:
  title: Twitter Actions API
  version: 1.0.0
  description: >-
    对 X/Twitter 执行写入操作，并通过 AIsa 网关路由。参照官方 X v2 API 端点建模（例如 POST
    /2/users/{id}/following）。
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - BearerAuth: []
paths:
  /twitter/unlike_twitter:
    post:
      summary: 取消点赞推文
      description: >-
        移除源用户对推文的点赞。对应[官方 X v2 `DELETE /2/users/{id}/likes/{tweet_id}`
        端点](https://docs.x.com/x-api/users/unlike-post)，并通过 AIsa 网关路由。为与其他 AIsa
        Twitter 写入操作保持一致，此操作使用 POST（而非 DELETE）。


        **身份验证。**需要源用户的 OAuth 会话，并将其关联到你的 AIsa API 密钥。通过 `POST
        /apis/v1/twitter/auth_twitter` 关联一次账户即可。


        **权限范围。**底层 X 会话必须具有 `like.write`、`tweet.read` 和 `users.read`。


        如果源用户未点赞该推文，取消点赞操作不会产生任何影响，但仍会返回 `200`，其中 `liked: false`。
      operationId: unlikeTwitter
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - tweet_id
              properties:
                tweet_id:
                  type: string
                  description: 要取消点赞的推文数字 ID。必须匹配 X 的正则表达式 `^[0-9]{1,19}$`。
                  pattern: ^[0-9]{1,19}$
                  example: '1346889436626259968'
            examples:
              unlike_tweet:
                summary: Unlike tweet 1346889436626259968
                value:
                  tweet_id: '1346889436626259968'
      responses:
        '200':
          description: 取消点赞成功（或者源用户原本就没有点赞该推文）。
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      liked:
                        type: boolean
                        description: 移除点赞后为 `false`。
              example:
                data:
                  liked: false
        '400':
          description: 请求无效 — 缺少 `tweet_id` 或其格式不正确。
        '401':
          description: AIsa API 密钥缺失或无效。
        '403':
          description: >-
            OAuth 会话缺失、已过期或缺少 `like.write` 权限。请通过 `POST
            /apis/v1/twitter/auth_twitter` 重新授权。
        '404':
          description: 未找到推文，或该推文对源用户不可见。
        '429':
          description: 已达到速率限制。
        '500':
          description: 内部错误。
        '502':
          description: 无法访问上游 X API。可安全地使用指数退避进行重试。
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: AISA API Key
      description: 你的 AIsa API 密钥。经过身份验证的源用户（执行关注操作的账户）由附加到你的密钥的 OAuth 会话决定。

````