问题标签 [canvas-lms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
275 浏览

bitnami - 文件下载 URL 从 Bitnami Canvas LMS 中的公共 IP 地址更改为本地 IP 地址

我已经按照 URL https://bitnami.com/stack/canvaslms/virtual-machine中的步骤安装了 Bitnami canvas LMS

当我在本地计算机上并且使用 URL http://192.168.1.141访问门户时,安装的 LMS 工作正常。我曾尝试使用 URL http://192.168.2.141/files/2/download?download_frd=1下载此实例中的文件,并且文件已成功下载。

我必须将此实例公开给公众,为此,我已在路由器中将端口转发到这台计算机。端口转发后,我可以使用我的公共 IP 地址打开 Canvas 实例。但是这时候我有一个问题,问题是当我点击一个文件时,我无法下载该文件。

这是因为当我单击公共 IP 地址时,URL 会转换为我的本地 IP 地址,并且文件永远不会被下载。

我要下载的文件的公共 URL: http://Public-IP:1000/files/2/download?download_frd=1

Url changed to local IP in the browser: http://192.168.2.141/files/2/download?download_frd=1&sf_verifier=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoiMTAwMDAwMDAwMDAwMDEiLCJyb290X2FjY291bnRfaWQiOiIxMDAwMDAwMDAwMDAwMSIsIm9hdXRoX2hvc3QiOiIyLjEwOS41MC4yMjozMDAwIiwiZXhwIjoxNTUzNTEzOTA2fQ.nip1yOlvRSvoC5TeC_WnqQsKeqfU5AZIG_aUcCAgRsAHlmG9z3x6oQMBKmVBDQYL1jocEyfuhzK44QWFWSwAbQ

我想我缺少一些 Url 配置,但我不知道该怎么做。请帮我。

0 投票
1 回答
587 浏览

canvas - Canvas API - 使用 sis_user_id 更新用户登录

我正在尝试通过 Canvas API 更新现有用户登录。我看到文档指出您可以使用内部登录 ID 更新用户登录(这是一个数值):https ://canvas.instructure.com/doc/api/logins.html#method.pseudonyms.update

但是,我想知道是否有办法使用 sis_user_id 或 sis_login_id (而不是内部数字登录 id)更新用户登录。例如,API 调用看起来像

0 投票
1 回答
728 浏览

javascript - 让用户修改 Chrome 扩展的 manifest.json 内容的编程方法

我正在开发一个用于 Canvas LMS 的 Chrome 扩展程序。这样做的一个问题是 Canvas 订阅者有不同的 URL,这些 URL 没有共同的顶级域。例如,我大学的 Canvas 网站有 URL canvas.gu.se,而另一所学校可能有canvas.myschool.edu. 但我无法输入文件,因为不允许"matches":"https://canvas.*/*"使用 manifest.json顶级通配符(请参阅这篇文章进行详细说明)。相反,我必须输入"matches":"https://*/*",然后以编程方式(在content.js代码中)清除其中没有“画布”的站点。

这以它自己的笨拙方式运作,但 Chrome 网上应用店对此并不满意,这导致我的更新延迟了几天。

当然可以使用一个窄/虚拟matches值,然后要求用户自己编辑清单以包括在每种情况下使用的特定 URL,但他们这样做的可能性有多大?相反,我希望扩展程序启动一个本地页面,提示用户输入特定的 URL,然后相应地编辑该manifest.json特定机器上的文件。那有可能吗?如果可以,怎么做?

0 投票
1 回答
327 浏览

php - 如何使用 PHP 和 CURL 从 API 端点发布到多个 ID?

我正在尝试使用 PHP 通过 Canvas API 发布消息。

我相信这比 Canvas 更像是一个 PHP 问题。

当我为“recipients[]”包含单个用户 ID(“79”是一个特定的用户想法并且 API 向他们发送一条消息 - 如电子邮件)时,以下代码有效。

有关 API 文档和尝试发布到多个 ID 的问题,请参见下文。

这是 Canvas 文档: https ://edu.pretpriemacedu.mk/doc/api/conversations.html#method.conversations.create

具体来说:

收件人[] 必需的
字符串
收件人 ID 的数组。这些可能是分别以“course_”或“group_”为前缀的用户 ID 或课程/组 ID,例如收件人[]=1&recipients=2&recipients[]=course_3

API 要求为这个“数组”发送一个字符串(最后的括号?)。您不能传递多个“收件人”字段,因为只有最后一个会记录(duh)。

我认为解决方案可能与使用 http_build_query (请参阅https://www.php.net/http_build_query)发送复杂/嵌套数组有关,但我尝试了各种方法将更多内容打包到“recipients []”中,他们都失败了。

任何 PHP 或一般 API 智慧都值得赞赏......

0 投票
1 回答
66 浏览

javascript - Canvas API - 为什么所有的计数值对于 rating_sum 都是“未定义的”?

我需要使用 Google 表格和从Canvas中提取的数据来完成一项(看似)简单的任务

确定讨论帖,例如按学生计数

例如:

  • 学生 A 在讨论区发帖
  • 学生 B 在学生 A 的帖子上点击了“赞”按钮
  • 我需要看到学生 B 的动作计数为 1

这是我到目前为止所做的......

我找到了这两个示例并将它们作为我的起点:

如何计算学生讨论帖

  • 这完美无缺
  • 我可以统计学生讨论区的帖子
  • 我确认计数是准确的
  • 下面是我正在使用的代码片段

提取学生喜欢的讨论帖?

  • 这就是我要解决的问题
  • 下面是我正在使用的代码片段

最初,这没有返回任何结果......这很奇怪,因为我已经手动验证了学生帖子实际上有很多喜欢......而且我的第一个测试只计算所有讨论板帖子返回一个准确的计数。

我修改了代码以返回所有内容,而不管entries[entry].rating_sum值如何

我所看到的是所有entries[entry].rating_sum值都是“未定义的”

我不确定如何确定根本原因 - 我相信代码按预期工作

感谢您的见解

谢谢!

0 投票
1 回答
136 浏览

canvas-lms - 强制执行范围时,Canvas API 中的列表课程缺少属性

在开发者密钥上没有强制执行范围的情况下,以下请求会返回 Course 对象以及 total_students 和学期信息:

在执行范围并仅允许后url:GET|/api/v1/courses,Course 对象返回但不包括 terms 或 total_student 字段。

我在文档( https://canvas.instructure.com/doc/api/courses.html#method.courses.index )中找不到任何表明这两个字段需要额外范围的内容。有谁知道是否是这种情况,如果是这样,获得这两个附加属性需要什么范围?

0 投票
1 回答
121 浏览

canvas-lms - Canvas LMS 中范围的可能值是什么?

我必须在 Canvas LMS 的 oauth2 流中传递范围,但我不知道要传递的可能值是什么。我在任何地方都没有看到完整的列表。这是 URL,但我没有在范围内传递什么。有什么帮助吗?

http:///login/oauth2/auth?client_id=10000001&response_type=code&redirect_uri= https://my-test-url//home/oauth2response&state=30330943-16da-4371-865f-5512b6ec671f&&scope=value_1 value_2 value_n

0 投票
0 回答
34 浏览

lti - 有没有办法在登录时启动 Canvas LMS 外部应用程序(插件)或在登录后立即显示在主屏幕上?

我正在尝试编写一个可以集成到 Canvas LMS/LTI 中的应用程序,但在登录时启动,或者在学生登录后立即在主屏幕上的某个位置显示,而不是配置为在课程内或某个看不见的子菜单。另一种选择是让它显示一个弹出窗口或以某种方式显示为通知,基于后端数据的某些条件触发。

到目前为止,我只能将我的应用程序添加为必须由学生手动启动的外部应用程序......所以-->正如俗话所说的“看不见...... . 理想情况下,我需要学生每天看到这一点并与之互动一次,无论是在他们登录时,还是基于某些触发器。我不希望/不需要它在他们正在做作业或参加测验时弹出,但我确实需要他们每天以某种方式查看它并且没有他们需要记住点击的链接。任何想法,将不胜感激。

0 投票
2 回答
749 浏览

javascript - 纱线因 TypeError 失败:无法读取属性 'yarnPath' of null

我正在尝试在我的 Mac 上安装纱线,纱线安装但运行纱线命令挂起并出现以下错误。

>纱线

我试过卸载纱线并重新安装

这并没有解决这个问题。提前感谢您的帮助...干杯!

0 投票
0 回答
42 浏览

javascript - 我如何获得父值?

我在 Canvas LMS 中进行编码,这意味着我在父级中对 HTML 命令的使用有限。我创建了一个 iframe 表单,我需要一个父级的值。为此,我将此值放在一个 div 中。但是命令“parent.document.getElementById("nameuser").value”返回:Uncaught DOMException: Blocked a frame with origin" ERROR。还有另一种获取父值的方法吗?

框架代码

父代码