You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NodeJS和twitter-api-v2创建Twitter机器人时遇Error code 453

Twitter API免费套餐调用端点权限问题解决

问题描述

使用twitter-api-v2、NodeJS和Twitter开发者免费套餐搭建简易推文机器人,跟随教程操作时反复触发权限错误:

你目前仅能访问Twitter API v2的部分端点及有限的v1.1端点(如media post、oauth)。若需访问此端点,可能需要不同的权限等级。详情请见:https://developer.twitter.com/en/portal/product

已尝试的排查步骤:

  • 在开发者平台确认账号设置正确,更换过两个账号(其中一个10月曾正常运行)
  • 检查代码无拼写错误
  • 搜索发现问题普遍,但未找到明确解决方案

项目代码文件

twitterClient.js

const { TwitterApi } = require("twitter-api-v2");

const client = new TwitterApi({
    appKey: "",
    appSecret: "",
    accessToken: "",
    accessSecret: ""
});

const rwClient = client.readWrite;

module.exports = rwClient;

index.js

const rwClient = require("./twitterClient.js");

const tweet = async () => {
    try {
        await rwClient.v1.tweet("Good morning!");
    } catch (e) {
        console.error(e);
    }
}

tweet();

package.json

"dependencies": {
  "twitter-api-v2": "^1.15.2"
}

问题原因与解决办法

核心原因

你调用的是v1.1的推文发布端点,而当前Twitter免费开发者套餐已不再开放v1.1的statuses/update(即v1.tweet方法)权限,仅支持部分v2端点和有限的v1.1工具类端点。

修复方案

将代码中的v1调用替换为v2的推文发布接口,修改index.js如下:

const rwClient = require("./twitterClient.js");

const tweet = async () => {
    try {
        // 使用v2的createTweet方法替代v1.tweet
        await rwClient.v2.tweet("Good morning!");
        console.log("推文发布成功");
    } catch (e) {
        console.error(e);
    }
}

tweet();

额外验证步骤

  1. 登录Twitter开发者平台,进入对应项目的权限设置页面
  2. 确认已绑定Free套餐(免费套餐默认包含v2基础推文操作权限)
  3. 确保使用的API密钥、访问令牌是该项目的有效密钥,无过期或权限配置错误

内容的提问来源于stack exchange,提问作者erlango3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 04:05:17