0

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

前もって感謝します。

4

0 に答える 0