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

如何通过Moodle API获取正确的Wiki页面ID(ID=7)?

解决Moodle API获取Wiki正确页面ID的问题

你混淆了课程模块ID(cmid)和Wiki页面ID(pageid):core_course_get_contents返回的id=21是Wiki的课程模块ID(即cmid,用于标识课程内的模块实例),而mod_wiki_get_page_contents需要的是具体页面的pageid,二者是完全不同的标识维度。

要通过API获取正确的Wiki页面ID,按以下步骤操作:

  • 第一步:获取目标课程对应的Wiki实例ID
    调用mod_wiki_get_wikis_by_courses接口,传入目标课程的courseid参数,接口会返回该课程下所有Wiki实例的信息,其中的id字段是Wiki实例的唯一标识(既不是cmid也不是pageid)。
    请求示例:

    curl -X POST https://你的Moodle地址/webservice/rest/server.php \
      -d 'wstoken=你的API令牌' \
      -d 'wsfunction=mod_wiki_get_wikis_by_courses' \
      -d 'moodlewsrestformat=json' \
      -d 'courseids[0]=目标课程ID'
    
  • 第二步:获取Wiki实例下的所有页面ID
    用上一步拿到的Wiki实例ID,调用mod_wiki_get_pages接口,接口会返回该Wiki下所有页面的完整列表,每个页面对象中的id字段就是你需要的pageid(比如你提到的7)。
    请求示例:

    curl -X POST https://你的Moodle地址/webservice/rest/server.php \
      -d 'wstoken=你的API令牌' \
      -d 'wsfunction=mod_wiki_get_pages' \
      -d 'moodlewsrestformat=json' \
      -d 'wikiid=第一步获取的Wiki实例ID'
    

如果目标页面名称已知,还可以在mod_wiki_get_pages请求中额外添加pagename=目标页面名称参数,直接筛选出目标页面,无需遍历整个列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:52:05