> ## 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.

# 关注用户

> 使已认证的源用户在 X/Twitter 上关注目标用户。通过 AIsa 网关代理官方 X v2 用户关注端点。

代表已验证身份的源用户关注 X/Twitter 用户。此端点直接代理官方 [X v2 `POST /2/users/{id}/following` 端点](https://docs.x.com/x-api/users/follow-user)，并通过位于 `https://api.aisa.one/apis/v1/twitter/follow_twitter` 的 AIsa 网关路由。

## 前提条件

* 一个 **AIsa API 密钥**（每个请求都使用 Bearer token）。
* 源用户账户的一次性 **OAuth 授权**。调用 [`POST /apis/v1/twitter/auth_twitter`](/zh/api-reference/twitter/post_twitter-auth-twitter) 关联您的 X 账户——该端点会启动 OAuth 流程，并将生成的会话与您的 AIsa 密钥关联存储，因此无需在此处的请求正文中传递 OAuth token。
* X 会话必须拥有以下权限范围：`follows.write`、`tweet.read`、`users.read`。

<Tip>
  希望通过 `@username` 而不是数字 ID 关注用户？请先使用 [`GET /twitter/user/info`](/zh/api-reference/twitter/get_twitter-user-info) 解析用户，然后将返回的 `id` 作为 `target_user_id` 传递。
</Tip>

## 响应字段

| 字段                    | 类型      | 含义                                          |
| --------------------- | ------- | ------------------------------------------- |
| `data.following`      | boolean | 源用户关注目标后为 `true`。对于公开账户，这是操作成功的标志。          |
| `data.pending_follow` | boolean | 当目标是**受保护**账户时为 `true`——关注请求已发送，正在等待目标用户批准。 |

有关完整的错误响应和重试指南，请参阅[错误代码](/zh/api-reference/errors)。写入端点计入您的标准密钥 RPM/TPM 限额——请参阅[速率限制](/zh/api-reference/rate-limits)。


## OpenAPI

````yaml openapi/zh/twitter-actions.json POST /twitter/follow_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/follow_twitter:
    post:
      summary: 在 X/Twitter 上关注用户
      description: >-
        使已认证的源用户在 X/Twitter 上关注指定的目标用户。此操作映射[官方 X v2 `POST
        /2/users/{id}/following`
        端点](https://docs.x.com/x-api/users/follow-user)，并通过 AIsa 网关路由。


        **身份认证。**这是一项写入操作，需要源用户的 OAuth 会话，并将其关联到您的 AIsa API 密钥。调用 `POST
        /apis/v1/twitter/auth_twitter` 一次即可关联您的 X 账户——之后，AIsa
        会自动为使用您的密钥发送的每个写入请求使用该会话。


        **权限范围。**底层 X 会话必须具有 `follows.write`、`tweet.read` 和 `users.read`。
      operationId: followTwitterUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - target_user_id
              properties:
                target_user_id:
                  type: string
                  description: 要关注的 X/Twitter 用户的数字 ID。必须匹配 X 正则表达式 `^[0-9]{1,19}$`。
                  pattern: ^[0-9]{1,19}$
                  example: '6253282'
            examples:
              follow_user:
                summary: Follow @TwitterDev (id 2244994945)
                value:
                  target_user_id: '2244994945'
      responses:
        '200':
          description: 关注成功（或已处于关注状态）。
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      following:
                        type: boolean
                        description: 当源用户现在已关注目标用户时为 `true`。
                      pending_follow:
                        type: boolean
                        description: 当关注请求已发送给受保护账户且正在等待批准时为 `true`。
              example:
                data:
                  following: true
                  pending_follow: false
        '400':
          description: 无效请求 — 缺少 `target_user_id` 或其格式不正确。
        '401':
          description: AIsa API 密钥缺失或无效。
        '403':
          description: OAuth 会话缺失、已过期或缺少 `follows.write` 作用域。请从仪表板重新授权。
        '429':
          description: 已触发速率限制——可能是您的 AIsa 密钥达到 RPM 上限，或上游 X 触发速率限制。
        '500':
          description: 内部错误。
        '502':
          description: 上游 X API 无法访问或返回错误。可安全地使用指数退避重试。
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: AISA API Key
      description: 你的 AIsa API 密钥。经过身份验证的源用户（执行关注操作的账户）由附加到你的密钥的 OAuth 会话决定。

````