BYO(自带)密钥按平台(账号级别)配置一次,而非按每个客户或子资料配置。 你在自己的 X 账号下创建一个 X 开发者应用,然后同一组 API Key + API Secret 会应用到你 Ayrshare 账号下所有关联 X 的每一个子资料 / 最终用户。如果你使用的是 Business 或 Enterprise 套餐、拥有数百个子资料,你不需要为每个子资料重复此配置。你只需为 X 平台配置一次,然后在每次请求中传入同样的两个 header 即可。
第 1 步:创建你的 X 开发者账号
登录开发者控制台
前往 console.x.com 并使用你的 X 账号登录。如需帮助,请参见 X 的入门指南。

第 2 步:创建一个应用
你每个 Ayrshare 账号只需创建一个 X 开发者应用。同一个应用及其 API Key + API Secret 会在你的 Ayrshare 账号下之后关联的每个子资料 / 最终用户之间复用。你不需要为每个客户单独创建新应用。
创建应用
在 App 面板中,点击 Create App(详情见 X 的 App 配置文档)。输入一个应用名称(通常为你的品牌名)。当用户连接他们的 X 账号时,OAuth 授权页面会显示该名称。

第 3 步:配置应用权限
设置回调地址与网站地址
在 App info 下:
- Callback URL: 同时添加下面两个回调地址:
https://profile.ayrshare.com/social-accountshttps://app.ayrshare.com/social-accounts
- Website URL:
https://app.ayrshare.com

- API Key(又名 Consumer Key,X 应用的标识符)
- API Secret(又名 Consumer Secret)
你不需要手动生成 Access Token。当你通过 OAuth 关联 X 账号时,Ayrshare 会自动处理这部分。
第 4 步:购买 X API 额度
X 现在采用基于额度(credit)的 API 计费方式,通过开发者控制台购买。第 5 步:更新你的 Ayrshare API 调用
在第 3 步中,你已在你自己的 env、config 或密钥管理器中妥善保存了以下 2 项:- API Key(又名 Consumer Key,X 应用的标识符)
- API Secret(又名 Consumer Secret)
你的密钥保持私有。 Ayrshare 不会存储你的 API Key 和 API Secret。
Header 对照表
| Header | 值 |
|---|---|
X-Twitter-OAuth1-Api-Key | API Key(Consumer Key) |
X-Twitter-OAuth1-Api-Secret | API Key Secret(Consumer Secret) |
代码示例
迁移已有资料(Business & Enterprise)
如果你已经有一些子资料通过 Ayrshare 关联了 X,那么在你切换到 BYO 密钥之后,这些资料需要重新关联 X 账号。这是因为已有的 access token 是在 Ayrshare 的 X 应用下签发的,无法与你自己的 consumer keys 一起使用(OAuth 1.0a 签名与签发该 token 的应用绑定)。在 generateJWT 中包含你的密钥
将 这是唯一一个把 consumer keys 放到请求体的接口。其他所有 X 请求都使用上文描述的 header。
twitterApiKey 和 twitterApiSecret 添加到你的 generateJWT 请求体中。它们会在被嵌入 JWT 前加密,不会暴露给你的最终用户。让用户重新关联 X
在生成包含密钥的 JWT 之后,你的用户需要通过资料关联页面重新连接他们的 X 账号。OAuth 授权界面现在会显示你的应用名称而不是 Ayrshare 的名称。为了简化这个过程,你可以:
- 通过 Unlink API 以编程方式解除关联,然后让用户重新授权
- 在 generateJWT 中使用
logout参数 强制重新登录 - 使用
allowedSocial在迁移流程中让关联页面只显示 X
一旦某个资料在你的 X 应用下重新完成了关联,该资料之后的所有帖子都会使用你的凭证。你可以在 X Developer Console 的 Usage 页面进行验证。
验证你的配置
通过 Ayrshare API 使用新的 header 发起一次测试调用,确认一切正常。/analytics/social 接口是一个不错的轻量级测试,因为它不会创建任何帖子。X API 定价方式
以前,Ayrshare 会代你承担 X API 的使用费用。在 X 当前的模式下,每个 Ayrshare 客户都需自行维护自己的 X 开发者账号,并直接向 X 支付其应用发起的 API 请求费用。(一个 X 开发者账号对应一个 Ayrshare 账号,而不是每个最终用户一个。所有子资料共享同一个 X 开发者账号和额度余额。) X 的定价采用按使用量付费模式:你在 X Developer Console 中购买额度,API 请求发起时会从中扣除。无需签署合同或订阅。 常见操作的费用较低。例如:| 操作 | 大致成本 |
|---|---|
| 创建帖子(纯文本) | 约 $0.01/条 |
| 创建带媒体的帖子 | 约 $0.02/条(媒体上传和发帖是两个独立请求) |
| 读取帖子 | 约 $0.005/次 |
| 用户查询 | 约 $0.01/次 |
| 发送私信 | 约 $0.01/条 |
| 读取私信事件 | 约 $0.01/事件 |
| 用户互动(关注、点赞等) | 约 $0.015/次 |
X 的按使用量付费定价目前处于试点阶段。费率可能随时调整,也可能引入新的费用项目。请以 Developer Console 中的最新定价为准。参见 X 的定价信息详解。
使用自己的 X API Key 的好处
使用你自己的 X API 凭证比之前的共享密钥模式提供了更多的控制与可靠性。这包括:- 品牌化的 OAuth 体验: 用户在授权访问 X 时会看到你的应用名称与品牌。
- 独立的速率限制: 你的 API 使用受你自己的 X 开发者账号限额约束,与其他 Ayrshare 用户彼此独立。你可以在 X Developer Console 中监控用量,并参阅 X API 速率限制文档。
- 凭证掌控: 你的 API Key 与 API Secret 保存在你自己的 X 开发者账号中。Ayrshare 不会存储你的私密密钥。
- 可移植性: 由于用户是通过你的 X App 进行认证,整个集成始终处于你的完全掌控之下。
- 用量可见性: 你的 X Developer Dashboard 会展示 API 请求、速率限制与额度使用情况。
安全性
- Ayrshare 不会存储你的 API Key 与 API Secret。
- 关于通用的安全最佳实践,请参见 X 的认证安全指南。
常见问题
X API Key 的要求现在已经生效了吗?
X API Key 的要求现在已经生效了吗?
是的。自 2026 年 3 月 31 日起,所有通过 Ayrshare 进行的 X 操作都需要你自己的 X API 凭证。如果你还没有配置 X 开发者账号,请按上述步骤操作。
X API 大概需要多少费用?
X API 大概需要多少费用?
X 按每次 API 调用收费。创建一条帖子约 $0.01,读取一条帖子约 $0.005。举例来说,每月发布 100 条帖子大约花费 $1。完整详情请参见 X 的定价页面。
我已经有 X 开发者账号了。可以用现有的密钥吗?
我已经有 X 开发者账号了。可以用现有的密钥吗?
可以。你可以使用你现有的 X App,只要它启用了 “Read and write” 权限(若使用私信功能还需 Direct Messages 权限)。你需要从 X Developer Console 的 Keys and tokens 部分获取 API Key(Consumer Key)和 API Secret(Consumer Secret)。通过 OAuth 关联你的 X 账号,然后在你的 Ayrshare API 请求中包含这两个 header。如果你在初次配置之后修改过应用权限,请重新关联 X 账号,以便 Access Token 继承更新后的权限。
X Developer Portal 显示了很多凭证。我实际需要哪几个?
X Developer Portal 显示了很多凭证。我实际需要哪几个?
你需要 API Key(Consumer Key)和 API Secret(Consumer Secret)。上方 Header 对照表 说明了每一项对应的具体 Ayrshare header。你可以忽略 Client ID、Client Secret、Bearer Token、Access Token 和 Access Token Secret。
'API Key' 和 'Client ID' 有什么区别?
'API Key' 和 'Client ID' 有什么区别?
它们是用于不同认证方式的完全不同的凭证:
- API Key(也叫 “Consumer Key”)用于 OAuth 1.0a。API Key(Consumer Key)+ API Secret 就是 Ayrshare 所使用的凭证。它支持全部 X 功能,token 永不过期,也无需 refresh 逻辑。
- Client ID 用于 OAuth 2.0。Ayrshare 不需要这个。OAuth 2.0 的 token 在短时间后就会过期,还需要管理 refresh token。
为什么使用 OAuth 1.0a 而不是 OAuth 2.0?
为什么使用 OAuth 1.0a 而不是 OAuth 2.0?
OAuth 2.0 的 access token 每 2 小时就会过期,而 X 的 refresh token 是一次性的(每次刷新都会作废旧 token)。这使得在无状态的 BYO 模式下(尤其是对排期帖子)无法实现支持。OAuth 1.0a 的 token 永不过期,支持所有 X 功能,且无需任何 token 管理。
我现有的用户需要重新关联他们的 X 账号吗?
我现有的用户需要重新关联他们的 X 账号吗?
需要。如果你的用户是在你配置 BYO 密钥之前通过 Ayrshare 关联 X 的,那么他们需要重新连接。原有的 access token 是在 Ayrshare 的 X 应用下签发的,无法与你的 consumer keys 一起使用。分步流程请参见上文的 迁移已有资料。
这一变更会影响向 Instagram、LinkedIn 或其他平台发帖吗?
这一变更会影响向 Instagram、LinkedIn 或其他平台发帖吗?
不会。该变更只影响向 X 发帖。Ayrshare 中所有其他平台的集成都会照常运行。
通过 RSS/Feed 自动发帖到 X 呢?
通过 RSS/Feed 自动发帖到 X 呢?
不再支持通过 RSS 自动发帖到 X。RSS 订阅源按计划自动运行,但自带 API Key 的模式要求每次 API 请求都携带凭证。因此,RSS 订阅源在发送帖子时无法完成认证。如果你之前使用 RSS 向 X 发帖,我们建议切换到 排期帖子,或者使用带上你凭证的直接 API 调用。向其他所有平台的 RSS 自动发帖不受影响。
我为什么会收到 402 "CreditsDepleted" 错误?
我为什么会收到 402 "CreditsDepleted" 错误?
这表示你的 X 开发者账号没有可用的 API 额度。前往 console.x.com → Billing → Credits 并购买额度。即使 $5 也足够支持数百次 API 调用。加载额度后重试你的请求。
我为什么会收到 403 "Forbidden: OAuth1 App Permissions" 错误?
我为什么会收到 403 "Forbidden: OAuth1 App Permissions" 错误?
你的 Access Token 没有正确的权限。这通常意味着以下两种情况之一:
- 你的应用权限被设为了 “Read” 而不是 “Read and write”。 在 Developer Console 中打开该应用的 Settings,将其更改为 Read and write and Direct message。
- 你在关联 X 账号之后修改了权限。 Access Token 会保留创建时的权限。请通过 OAuth 重新关联 X 账号,让新的 token 继承更新后的权限。
故障排查
我收到关于缺少 header 的 400 错误
我收到关于缺少 header 的 400 错误
请确保你同时发送了两个必需的 header:
X-Twitter-OAuth1-Api-KeyX-Twitter-OAuth1-Api-Secret
如果你在尝试关联 X 账号时看到此错误,请确认你已在 X 开发者应用的设置中(Authentication settings > Callback URI / Redirect URL)添加了必需的回调地址:
https://profile.ayrshare.com/social-accountshttps://app.ayrshare.com/social-accounts
你的 X 开发者账号没有加载任何 API 额度。前往 console.x.com → Billing → Credits 并购买额度。即使 $5 也足够支持数百次 API 调用。
你的 Access Token 没有正确的权限。这通常意味着:
- 你的应用权限被设为了 “Read” 而不是 “Read and write”。 在 Developer Console 中打开该应用的 Settings,将其更改为 Read and write and Direct message。
- 你在关联 X 账号之后修改了权限。 Access Token 会保留创建时的权限。请通过 OAuth 重新关联 X 账号,让新的 token 继承更新后的权限。










