使用Axios请求Roblox API后,如何提取用户ID?
正确提取Roblox API返回的用户ID方法
你访问userid.data.id失败的核心原因是:API返回的顶层data是一个数组(即便仅查询单个用户名),数组内的每个元素才是包含id的用户对象,因此需要先获取数组的第一个元素,再访问其id属性。
修正后的代码
const response = await axios({ method: 'post', url: 'https://users.roblox.com/v1/usernames/users', data: { "usernames": [username], "excludeBannedUsers": true }, }) // 先取数组第一个用户对象,再提取id const userId = response.data.data[0]?.id; console.log(userId);
补充说明
response.data是Axios封装后的响应主体,对应API返回的顶层对象,其中嵌套的data字段才是用户数据数组。- 使用
[0]定位数组第一个元素(因你仅传入一个用户名,数组只会有一条数据)。 - 加上
?.可选链操作符,是为了避免用户名不存在/被封禁导致数组为空时触发报错,此时userId会返回undefined,你可根据需求补充兜底判断逻辑。
内容的提问来源于stack exchange,提问作者Randomuser737373
相关产品推荐
相关产品推荐

