使用自建应用机器人发送消息出现偶发性错误【Invalid access token for authorization】
const feishuClient = new lark.Client({
appId: process.env.APP_ID || '',
appSecret: process.env.APP_SECRET || '',
disableTokenCache: false,
loggerLevel: lark.LoggerLevel.error
})
feishuClient.im.message.create ...
appid 和 appSecret是在环境变量传过去的,能保证是存在的,并且上一条消息是发送成功的,下一条就出现发送失败,token鉴权失败问题
这个完全是偶发性的,不知道什么时候会出现这个问题
可以给一个可复现的demo代码和sdk的版本不?
版本 @larksuiteoapi/node-sdk": "^1.37.2"
没有办法稳定复现,偶发出现,我这边用的方式大概就是,注册路由的时候生成一个client,如下:
const feishuClient = new lark.Client({
appId: process.env.APP_ID || '',
appSecret: process.env.APP_SECRET || '',
disableTokenCache: false,
loggerLevel: lark.LoggerLevel.error
})
然后接口请求的时候,使用上面的client发送消息给用户
feishuClient.im.message.create({
params: {
receive_id_type: 'email'
},
data: {
receive_id: ctx.body.email,
content: JSON.stringify({}),
msg_type: 'interactive'
}
})
大概代码如上,主要问题是我们这边一天大概会发送几千条消息,上一条消息看了是成功的,某些时候下一条会出现上面token问题发送失败
GET,感谢,我这边尝试先复现一下;
可以先做个失败重试机制,请求失败的话在请求一下,先解决业务问题;
如果方便的话,可以抓一下这个获取token接口的log id:/open-apis/auth/v3/tenant_access_token/internal,出现上面报错看起来是这个接口返回的token有些问题,抓到了定位会精准点儿。
GET,感谢,我这边尝试先复现一下;
可以先做个失败重试机制,请求失败的话在请求一下,先解决业务问题;
如果方便的话,可以抓一下这个获取token接口的log id:/open-apis/auth/v3/tenant_access_token/internal,出现上面报错看起来是这个接口返回的token有些问题,抓到了定位会精准点儿。
请问如何抓这个token接口的log id,用的sdk是没有直接调用接口了,目前是做了一次重试,看日志失败后,重试是ok的
俺也一样,搞定请求,经常就是出现这个
headers: Object [AxiosHeaders] {
_header: 'GET /open-apis/sheets/v2/spreadsheets/DsvTs8d3AhxIXdtF0bwciH5RnKc/values/7QRKh4!I2:I2?valueRenderOption=ToString&dateTimeRenderOption=FormattedString HTTP/1.1\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'Authorization: Bearer t-g10...\r\n' +
'User-Agent: axios/1.12.2\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: open.feishu.cn\r\n' +
'Connection: keep-alive\r\n' +
'\r\n',
_keepAliveTimeout: 0,
server: 'Tengine',
'content-type': 'application/json; charset=utf-8',
'content-length': '523',
connection: 'keep-alive',
date: 'Sat, 20 Sep 2025 03:37:39 GMT',
'request-id': 'da56e647-8ddb-4b2d-a27f-17180915f409',
'set-cookie': [Array],
tt_stable: '1',
vary: 'Cookie',
'x-lgw-dst-svc': 'JObZ4naHH-F3Vt1ea_KDdd6u0tLX_LAb6bS_ygaNfB55qklF-wtsYdrLOCVuyqwBpWfkYSzpkb6WyxRiF2Z4K1yyB8tDNKF1-e93VV5SszLqcqtNeZgxJ6BrGu4DhSCFo1YxwWAgySpX1OBlwVPQ87T0g1uYKbDSttcHzLBfyeRfA2CWmvVrnoxOx2-MDL_hs4vArAaQSte_RBXH5MQVzUjW17SUMd1hbj9BBRunV0aJclkj3vUMB62Jjs-VRQkeyh2f43iazk3ZlE4d_vmir0q68XyFgQRF',
'x-request-id': 'da56e647-8ddb-4b2d-a27f-17180915f409',
'x-tt-logid': '20250920113739F58ADF8DF6B9CDF9D539',
'server-timing': 'inner; dur=15, cdn-cache;desc=MISS,edge;dur=0,origin;dur=46',
'x-tt-trace-host': '019f3238f89f2520770bf462f15aed338d21e54beee65aee6f57df9e5244f549724dac719c7d4afec3081589007b40293867748161a72acd486196436838d10166d868e6aa39df53bca9eb27c5973aa55aa293702dd632b990e0cede7bc4b2776d',
'x-tt-trace-tag': 'id=03;cdn-cache=miss;type=dyn',
'x-tt-trace-id': '00-250920113739F58ADF8DF6B9CDF9D539-58221C2D7257F6CE-00',
'x-timestamp': '1758339459.292',
'x-alicdn-da-ups-status': 'endOs,0,400',
via: 'vcache11.cn1402[46,0]',
'timing-allow-origin': '*',
eagleid: '65597d1f17583394592595219e'
},
data: {
code: 99991663,
msg: 'Invalid access token for authorization. Please make a request with token attached.',
error: [Object]
}
},
status: 400
}
是因为这个token刷新机制问题吗?