用途:管理 Open edX Studio 课程团队,即谁能在 Studio 中打开并编辑课程。角色分两种:staff(编辑内容与设置)和 instructor(staff 权限加管理团队,Studio 中称为 Admin)。成员以邮箱标识,且必须已有 LMS 账号。组织级权限(org-instructor、course-creator)不在此管理,属于 /iblai-api-management。
主要能力:读取单个成员角色(GET /course_team/{COURSE}/{email},返回 email、active、role,role 为 instructor、staff 或 null);列出团队(无 JSON 列表路由,需抓取团队页面 HTML 并解析内嵌数组);查询某用户全部 edX 角色(GET /api/ibl/users/manage/roles/?username={username})。写入方面:POST /course_team/{COURSE}/{email} 传 {"role":"staff"} 或 {"role":"instructor"} 添加或改角色,同时会将该用户选课;DELETE 移除成员。
使用方式:先做预检 node .claude/skills/iblai-api-studio-auth/scripts/studio-login.mjs --check,需打印两个 ok,否则先运行 /iblai-api-studio-auth。需要课程 key,且登录用户须是该课程 instructor。认证使用 $STUDIO_URL 与 studio.env 中的 Studio 会话 cookie(值为单引号包裹,解析时须去引号,否则 Studio 返回 500)。请求需带 X-CSRFToken、Origin、Referer 等头。
限制:只有 instructor 能改团队,staff 会得到 403;移除成员立即生效,操作前应先与用户确认;不能移除最后一名 Admin,否则返回 400;邮箱查不到账号返回 404,需先用 /iblai-api-invite 邀请;课程创建者自动为 instructor 加 staff;用户选课是另一回事,见 /iblai-api-studio-lms。