我有一个要求,我必须在 Canvas LMS 中已选择的模块下创建一个批量内容项。
如何使用 Canvas API 实现它?我可以使用创建模块项目在模块下创建普通的批量内容项目
但以类似的方式,我想在模块下添加 LTI 内容作为模块项。
selected_item_ids = [1,2,3,4]
course_id = params[:course_id]
module_id = params[:module_id]
form_data["modules"]["item"].each do |item|
if selected_item_ids.include?(item["id"].to_i)
title = item["title"].to_s
item_type = item["type"].to_s
external_url = item["external_url"].to_s
secret = item["secret"].to_s
uri = URI.parse("http://example/api/v1/courses/"+course_id+"/modules/"+module_id+"/items")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <token>"
request.body = "module_item[title]="+title+"&module_item[type]=ExternalUrl&module_item[new_tab]=true&module_item[external_url]="+external_url
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
end
end
提前致谢。