如何获得一门学科 and/or 年级的所有可汗学院主题
How can one get all khan academy topics for one subject and/or grade only
使用可汗学院 API,我想检索某个年级(和相关视频 ID)的所有数学主题和子主题的列表,类似于您在此处看到的内容 - https://www.khanacademy.org/math/cc-seventh-grade-math
理想情况下,我想在 API 调用中将成绩(第 7 级)和科目(数学)作为参数传递给执行此操作?这可能吗?
查看完整的主题树,'domain-slug' 似乎是我使用该词的方式最接近 'subject' 的东西,但似乎设置不一致.我也没有看到成绩的专用字段。
您将如何实现这一目标?任何建议将不胜感激。谢谢
我不使用主题树 API 调用 - 它 returns 大约 50 MB 的数据。我宁愿使用 API 调用“http://www.khanacademy.org/api/v1/topic/%s”单独遍历树的节点,其中 %s 是 "node_slug" 字段,从 "root" 的 "node_slug" 开始.
从那里您可以使用 "children" 和 "child_data" 条目遍历 sub-nodes。 "children" 有详细信息,"child_data" 基本上只是它们出现的顺序。
对于每个节点,有两个重要字段需要查看,"kind" 和 "render_type"。
"kind" 可以有以下值:
- "Topic"
- "Video"
- "Exercise"
- "Article"
- "Scratchpad"
- "Separator"
"render_type" 可以有以下值:
- "Root"
- "Domain"
- "Subject"
- "Topic"
- "Tutorial"
- "UncuratedTutorial"
因此,您从 "root" 遍历子节点以查找具有 "render_type" = "Domain" 的节点。这将为您提供 "math"、"science" 等内容。现在您可以使用 "math" 节点遍历其下的主题,寻找 "render_type" = "Subject".其中包括 7 年级等
注意: 域和主题节点都有 "kind" = "Topic",所以你应该确保检查这些然后使用 "render_type" 查找域或主题区分。
我还做的是缓存 JSON 响应,这样应用程序就不必从网站重新加载它们。我可以选择在需要时从网站上刷新它们。
然后您可以使用主题节点进一步遍历其子节点以获取视频、练习、文章等。
使用可汗学院 API,我想检索某个年级(和相关视频 ID)的所有数学主题和子主题的列表,类似于您在此处看到的内容 - https://www.khanacademy.org/math/cc-seventh-grade-math
理想情况下,我想在 API 调用中将成绩(第 7 级)和科目(数学)作为参数传递给执行此操作?这可能吗?
查看完整的主题树,'domain-slug' 似乎是我使用该词的方式最接近 'subject' 的东西,但似乎设置不一致.我也没有看到成绩的专用字段。
您将如何实现这一目标?任何建议将不胜感激。谢谢
我不使用主题树 API 调用 - 它 returns 大约 50 MB 的数据。我宁愿使用 API 调用“http://www.khanacademy.org/api/v1/topic/%s”单独遍历树的节点,其中 %s 是 "node_slug" 字段,从 "root" 的 "node_slug" 开始.
从那里您可以使用 "children" 和 "child_data" 条目遍历 sub-nodes。 "children" 有详细信息,"child_data" 基本上只是它们出现的顺序。
对于每个节点,有两个重要字段需要查看,"kind" 和 "render_type"。
"kind" 可以有以下值:
- "Topic"
- "Video"
- "Exercise"
- "Article"
- "Scratchpad"
- "Separator"
"render_type" 可以有以下值:
- "Root"
- "Domain"
- "Subject"
- "Topic"
- "Tutorial"
- "UncuratedTutorial"
因此,您从 "root" 遍历子节点以查找具有 "render_type" = "Domain" 的节点。这将为您提供 "math"、"science" 等内容。现在您可以使用 "math" 节点遍历其下的主题,寻找 "render_type" = "Subject".其中包括 7 年级等
注意: 域和主题节点都有 "kind" = "Topic",所以你应该确保检查这些然后使用 "render_type" 查找域或主题区分。
我还做的是缓存 JSON 响应,这样应用程序就不必从网站重新加载它们。我可以选择在需要时从网站上刷新它们。
然后您可以使用主题节点进一步遍历其子节点以获取视频、练习、文章等。