You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Weblate REST API添加Unit失败,返回403错误

通过Weblate REST API添加Unit失败,返回403错误

你的怀疑完全合理——这种403报错大概率是团队里有人调整了Weblate的权限配置或者组件设置,导致API添加单元的操作被禁止了。我帮你梳理几个最可能的原因和排查方向:

可能的原因及排查步骤

  • API密钥绑定的用户权限不足
    虽然你的密钥能通过身份验证(错误密钥会返回不同报错),但该密钥对应的用户账号可能没有在目标项目/组件下添加单元的权限。你可以登录Weblate后台,找到该用户的账号,查看它在目标项目中的角色——至少需要拥有「Translator」及以上权限,或者明确被授予「Add translation」的权限,才能通过API添加单元。

  • 组件层面禁用了API添加字符串
    很多团队会为了管控字符串来源(比如只允许从版本控制系统同步,禁止手动/API添加),在组件设置里禁用了这个功能。你可以进入目标组件的「Settings」→「Translations」页面,检查是否有类似「Prevent adding new strings via API」或者「Only allow adding strings from version control」的选项,如果开启了,API添加单元就会被拒绝。

  • 项目层面的权限限制
    项目的全局权限设置也可能限制了API操作。进入项目的「Permissions」页面,确认是否有针对API请求的权限规则,比如禁止了POST /api/translations/{project}/{component}/{language}/units/这个端点的访问。

  • 参数完整性(次要可能性)
    虽然你的报错是权限类的403,但也可以检查下请求参数是否完整。Weblate的部分版本中,添加单元可能需要额外字段(比如context),不过如果是参数缺失通常会返回400而非403,这个可以作为补充排查点。

快速验证小技巧

你可以用同一个API密钥调用GET /api/users/me/接口,返回的用户信息里会包含该账号的权限范围,能快速确认是否有目标组件的操作权限。

备注:内容来源于stack exchange,提问作者Sten Heimbrodt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:29:35