使用Axios调用sheet.best API时触发404错误,请求技术排查
排查sheet.best表单提交404错误的原因与解决办法
可能的原因
- API地址无效:你使用的sheet.best API地址对应的Sheet ID(
8fab09ad-f573-4efb-b657-da532ca25f4b)可能不存在、已过期,或者在sheet.best后台已解除与对应Google Sheet的关联。 - 地址拼写错误:检查API地址是否有字符遗漏、Sheet ID是否完全匹配(Sheet ID是严格区分字符的)。
- 代码隐性问题:虽然不直接导致404,但你的代码中存在状态清空函数的拼写错误(
setMessge应为setMessage,setfirstName应为setFirstName),会导致提交成功后无法正确重置表单状态。
解决办法
验证API地址有效性
登录sheet.best后台,找到你绑定的Google Sheet,复制其对应的官方API地址,与代码中的地址完全比对,确认Sheet ID一致,且该Sheet的关联状态为正常启用。测试API连通性
用Postman或curl工具直接发送POST请求到该API地址,排除代码层面的干扰:curl -X POST -H "Content-Type: application/json" -d '{"Email":"test@example.com"}' https://sheet.best/api/sheets/8fab09ad-f573-4efb-b657-da532ca25f4b如果返回仍为404,说明地址确实无效,需重新生成正确的API地址。
检查Google Sheet权限
确保绑定的Google Sheet设置了「任何人可查看」权限(或至少允许sheet.best的服务账号访问),权限不足可能导致服务无法定位到Sheet资源(部分场景下会触发404错误)。修正代码拼写错误
修正状态重置函数的拼写问题,确保提交成功后表单能正确清空:const handleSubmit = () => { const data = { Email: email, Phone: phone, FirstName: firstName, LastName: lastName, Message: message, City: city } return axios.post('https://sheet.best/api/sheets/8fab09ad-f573-4efb-b657-da532ca25f4b', data) .then((response) => { console.log(response) setCity('') setEmail('') setLastName('') setMessage('') // 修正拼写错误 setPhone('') setFirstName('') // 修正首字母大写 }) .catch((error) => { console.log(error) }) }
内容的提问来源于stack exchange,提问作者JEHAD HLEWI
相关产品推荐
相关产品推荐

