curl --request POST \
--url https://api.aisa.one/apis/v1/twitter/post_twitter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "",
"in_reply_to_tweet_id": ""
}
'{
"code": 123,
"msg": "<string>",
"data": {}
}帖子与操作
Post Twitter
代表已认证的源用户发布推文,支持纯文本、回复、引用、投票或附带媒体。还支持在 X 的编辑时间窗口内编辑现有推文。
POST
https://api.aisa.one
/
apis
/
v1
/
twitter
/
post_twitter
curl --request POST \
--url https://api.aisa.one/apis/v1/twitter/post_twitter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "",
"in_reply_to_tweet_id": ""
}
'{
"code": 123,
"msg": "<string>",
"data": {}
}代表已认证的源用户发布推文。该端点代理官方 X v2
返回的
省略该字段则使用默认设置(所有人)。
POST /2/tweets 端点,并通过位于 https://api.aisa.one/apis/v1/twitter/post_twitter 的 AIsa 网关进行路由。
一个端点涵盖所有变体:
纯文本
{ "text": "Hello, World!" }回复
设置
reply.in_reply_to_tweet_id。引用推文
设置
quote_tweet_id。附带投票
设置
poll.options + poll.duration_minutes。附带媒体
设置
media.media_ids(1–4 个 ID)。编辑推文
设置
edit_options.previous_post_id(须在 X 的编辑时限内)。前置条件
- 一个 AIsa API 密钥(每个请求均使用 Bearer token)。
- 对源用户账户进行一次性 OAuth 授权。通过调用
POST /apis/v1/twitter/auth_twitter关联你的 X 账户——AIsa 会将会话与 API 密钥关联存储,并在每次写入调用时自动使用该会话。 - X 会话必须拥有
tweet.read、tweet.write、users.read。
互斥字段
单个请求中最多只能出现以下字段中的一个:mediapollquote_tweet_idcard_uri
400 invalid-request)。
响应
成功时,端点返回201 Created:
{
"data": {
"id": "1346889436626259968",
"text": "Hello, World!"
}
}
text 反映 X 实际存储的内容(例如缩短后的 URL)。可使用 data.id 在后续调用中引用该推文(回复、引用、点赞、编辑、删除)。
编辑推文
传入edit_options.previous_post_id 可编辑现有推文,而不是创建新推文。编辑受 X 的编辑时限和编辑次数限制;如果已超过时限或编辑配额已用尽,端点将返回 409 conflict。
回复设置
使用reply_settings 限制可回复的用户:
| 值 | 可回复的用户 |
|---|---|
following | 你关注的人 |
mentionedUsers | 推文中明确提及的用户 |
subscribers | 你的 X Premium 订阅者 |
verified | 已认证账户 |
常见 4xx 原因
400 invalid-request——设置了两个互斥字段、文本过长、投票持续时间无效等。403 client-forbidden——OAuth 会话缺少tweet.writescope。请通过auth_twitter重新关联。404 resource-not-found——引用的in_reply_to_tweet_id、quote_tweet_id或previous_post_id不存在,或对源用户不可见。409 conflict——内容重复,或在允许的时限之外进行编辑。
相关内容
关联 X 账户
启动此端点所需的 OAuth 流程。
关注用户
使用同一 OAuth 会话的另一个写入端点。
Twitter 自动驾驶技能
封装完整 Twitter 功能面的 Agent 技能。
授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
请求体
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
- Option 19
- Option 20
- Option 21
- Option 22
- Option 23
- Option 24
- Option 25
- Option 26
- Option 27
- Option 28
- Option 29
- Option 30
- Option 31
- Option 32
- Option 33
- Option 34
- Option 35
- Option 36
- Option 37
- Option 38
- Option 39
- Option 40
- Option 41
- Option 42
- Option 43
- Option 44
- Option 45
- Option 46
- Option 47
- Option 48
- Option 49
- Option 50
- Option 51
- Option 52
- Option 53
- Option 54
- Option 55
- Option 56
- Option 57
- Option 58
- Option 59
- Option 60
- Option 61
- Option 62
- Option 63
- Option 64
- Option 65
- Option 66
- Option 67
- Option 68
- Option 69
- Option 70
- Option 71
- Option 72
- Option 73
- Option 74
- Option 75
- Option 76
- Option 77
- Option 78
- Option 79
- Option 80
- Option 81
- Option 82
- Option 83
- Option 84
- Option 85
- Option 86
- Option 87
- Option 88
- Option 89
- Option 90
- Option 91
- Option 92
- Option 93
- Option 94
- Option 95
- Option 96
- Option 97
- Option 98
- Option 99
- Option 100
- Option 101
- Option 102
- Option 103
- Option 104
- Option 105
- Option 106
- Option 107
- Option 108
- Option 109
- Option 110
- Option 111
- Option 112
- Option 113
- Option 114
- Option 115
- Option 116
- Option 117
- Option 118
- Option 119
- Option 120
- Option 121
- Option 122
- Option 123
- Option 124
- Option 125
Maximum string length:
280Maximum string length:
64Maximum string length:
64Maximum string length:
256Show child attributes
Show child attributes
Show child attributes
Show child attributes
Maximum string length:
64Show child attributes
Show child attributes
Maximum string length:
32Alternate spelling for /content; ignored when the canonical value is present and nonempty.