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

Open edX Android应用配置后登录出现404接口错误求助

解决Open edX Android应用登录后出现的404 API错误

你已经完成了移动端的基础配置并成功登录,但遇到了API端点不存在的404错误。这个问题的核心是你的Open edX LMS实例并没有提供应用所请求的/api/mobile/v1/users/staff/course_enrollments接口,下面是具体的排查和解决步骤:

1. 确认版本兼容性

edx-app-android的API调用逻辑和Open edX LMS的版本强绑定,不同版本的LMS提供的API端点差异很大。你需要检查:

  • 你拉取的edx-app-android代码分支(比如master或某个版本分支)是否和你的LMS版本匹配(比如Ironwood、Nutmeg、Olive等);
  • 查看项目的README或RELEASE_NOTES里的版本兼容性说明,切换到匹配的分支重新配置编译。

2. 手动验证API端点是否存在

直接用工具测试这个API是否真的能访问:

  1. 从应用日志里找到当前登录用户的OAuth Access Token(或者通过LMS的OAuth流程手动获取);
  2. 用curl命令测试:
    curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://org.mylms.com/api/mobile/v1/users/staff/course_enrollments
    

如果返回404,说明你的LMS确实没有这个端点,要么升级LMS到支持该API的版本,要么检查LMS的配置是否禁用了相关API模块。

3. 检查LMS的API启用配置

有些Open edX版本需要手动启用移动端API:

  • 打开LMS的lms.env.json配置文件,检查FEATURES字段里的ENABLE_MOBILE_REST_API是否设置为true;
  • 登录LMS后台管理界面,确认有没有MOBILE_API_ENABLED这类开关处于开启状态。

4. 确认API_HOST_URL配置的准确性

确保你在android.yaml里填的API_HOST_URL是LMS的正确根地址:

  • 如果你的LMS部署在子路径下(比如https://org.mylms.com/lms),一定要把这个完整路径填进去;
  • 可以先访问https://org.mylms.com/api/mobile/v1/,如果返回API的根目录信息,说明地址是对的,否则需要调整。

5. 排除用户权限影响(优先级较低)

虽然错误是404而非403,但还是可以确认下当前登录用户的角色:

  • 登录LMS后台,检查该用户是否拥有staff权限;
  • 如果有条件,用一个staff账号登录应用,看是否还是同样的错误,排除权限导致的隐藏问题。

内容的提问来源于stack exchange,提问作者Rahul Rai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:10:19