使用khan academy API,我想检索某个等级(和相关视频ID)的所有数学主题和子主题的列表,类似于您在此处看到的内容 - https://www.khanacademy.org/math/cc-seventh-grade-math
理想情况下,我想在API调用中将等级(第7个)和主题(数学)作为参数传递来执行此操作?这可能吗?
查看完整的主题树,'domain-slug'似乎与我使用该单词的方式最接近'subject',但似乎并未设置一致。我也没有看到专门的成绩领域。
你将如何实现这一目标?任何建议都将非常感激。感谢。
答案 0 :(得分:0)
我没有使用主题树API调用 - 它返回大约50 MB的数据。我宁愿使用API调用单独遍历树的节点" http://www.khanacademy.org/api/v1/topic/%s"其中%s是" node_slug"字段,以" node_slug"开头" root"。
从那里你使用"孩子"和" child_data"用于遍历子节点的条目。 "的子"有详细信息和" child_data"基本上只是它们出现的顺序。
对于每个节点,有两个重要的字段需要查看," kind"和" render_type"。
"种类"可以有值:
" render_type"可以有值:
所以,来自" root"你遍历子节点寻找节点" render_type" ="域"。那会给你像"数学","科学"等等。现在你可以使用"数学"节点迭代它下面的主题,寻找" render_type" ="主题"。在那些你会找到7年级等
注意:域和主题节点都有" kind" ="主题",所以你应该确保检查这些,然后使用" render_type"找到域名或主题的区别。
我还要做的是缓存JSON响应,以便应用程序不必从网站重新加载它们。我可以选择在需要时从网站刷新它们。
然后,您可以使用主题节点进一步遍历其子项以获取视频,练习,文章等。