为何在EmailJS中添加Gmail服务时报412错误,React.js发邮件也遇同错?
Email JS Gmail API 412身份验证范围不足报错修复方案
你遇到的412 Gmail_API错误,提示Request had insufficient authentication scopes(请求身份验证范围不足),是Gmail API授权范围不匹配导致的,后台配置服务和前端React调用时都会触发该错误。
修复步骤
- 进入Google Cloud控制台对应项目,打开「API和服务」-「OAuth同意屏幕」配置页
- 下滑到「限制范围」模块,点击「添加或删除范围」,勾选/手动添加
https://www.googleapis.com/auth/gmail.send权限,保存配置 - 回到Email JS后台,删除原有Gmail服务后重新添加,走授权流程时要同意所有权限请求,不要漏选
- React端无需调整权限相关配置,确认安装
@emailjs/browser依赖后,用原有调用逻辑即可正常发送邮件,示例代码如下:
import emailjs from '@emailjs/browser'; const sendEmail = async () => { try { const response = await emailjs.send( '你的服务ID', '你的模板ID', { to_name: '收件人名称', message: '邮件正文内容' }, '你的Email JS公钥' ) console.log('发送成功', response.status) } catch (error) { console.error('发送失败', error) } }
注意事项
如果你用的是Gmail OAuth测试应用,必须先把授权账号添加到「OAuth同意屏幕」的测试用户列表中才能正常使用;正式对外使用前需要将应用提交审核并发布为正式状态,避免7天后授权自动失效。
内容的提问来源于stack exchange,提问作者Anil
相关产品推荐
相关产品推荐

