如何使用Twit NPM包获取Twitter用户名和头像并解决34错误问题
解决思路
Twitter API v1.1返回错误码34的含义为请求的资源不存在,可按照以下优先级排查修复:
- 修正接口请求路径
twit包调用v1.1接口时不需要额外加.json后缀,你当前的路径拼接后会导致实际请求地址错误,将请求路径从users/show.json改为users/show即可,这是该报错最常见的触发原因。
修改后的调用代码示例:
const Twit = require('twit'); let T = new Twit({ consumer_key: 'xxx', consumer_secret: 'xxx', access_token: 'xxx', access_token_secret: 'xxx', timeout_ms: 60 * 1000, strictSSL: true, }); // 仅修改此处的请求路径 T.get('users/show', { screen_name: `${usernameFromAbove}`}, function (err, data, response) { if (err) { console.log(`User Fetch Error`); console.log(err); } console.log(data); });
- 检查
screen_name参数合法性- 传入参数不要带
@前缀,直接填写纯用户名即可 - 确认
usernameFromAbove变量不为空,没有多余的空格、特殊字符 - 确认你查询的用户名未被注销、封禁,真实存在于Twitter平台
- 传入参数不要带
- 确认开发者账号权限
twit包默认适配Twitter v1.1版本API,若你使用的是2021年之后新申请的开发者账号,需要前往开发者后台确认你的项目已经开通了v1.1 API的读取权限,无对应权限也会触发该错误。如果无法开通v1.1权限,建议更换适配v2 API的npm包进行开发。
内容的提问来源于stack exchange,提问作者ololo
相关产品推荐
相关产品推荐

