LINE Bot调用OpenAI后发送贴纸报400错误求助
LINE Bot发送贴纸HTTP 400错误排查与解决
关键排查点
HTTP 400错误属于请求参数格式或内容不符合LINE API要求,针对贴纸发送场景,重点检查以下内容:
1. 贴纸ID组合有效性
LINE贴纸消息要求packageId和stickerId必须是官方认可的有效配对:
- 确认使用的ID对属于LINE公开的有效贴纸范围,旧贴纸包可能已下架,自定义贴纸需额外配置权限。
- 正确的贴纸消息结构示例:
const stickerMsg = { type: 'sticker', packageId: '11537', stickerId: '52002734' };
2. 消息结构正确性
使用@line/bot-sdk时,需严格匹配消息结构规范:
- 检查字段拼写,避免
packageId/stickerId大小写错误(如写成packageID)。 - 确保
type字段准确设置为'sticker',不能遗漏或写错。
3. 发送逻辑的异步处理
连续发送文本和贴纸消息时,需保证串行执行,避免并发请求异常:
// 串行发送示例 await client.pushMessage(userId, textMsg); await client.pushMessage(userId, stickerMsg);
4. 权限与版本兼容
- 登录LINE开发者控制台,确认Bot已开启发送贴纸消息的权限。
- 若问题仍存在,可尝试升级
@line/bot-sdk至最新稳定版:
npm update @line/bot-sdk
错误日志对应处理
如果错误日志提示Invalid sticker package ID or sticker ID,直接排查贴纸ID有效性;若提示Invalid request body,则聚焦消息结构修正。
内容的提问来源于stack exchange,提问作者SATOMI
相关产品推荐
相关产品推荐

