问题标签 [valence]

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 回答
428 浏览

desire2learn - 小部件 LTI -> API 身份验证

我正在开发一个 LTI 小部件,然后需要对 API 进行身份验证以获取更多信息。

我正在努力弄清楚如何处理 API 用户身份验证,并重定向回保留 LTI 信息。

返回的请求字符串如下所示:

问题是我的 PHP LTI 脚本设置仅在满足以下条件时才加载:

x_a 是用户 ID,x_b 是用户密钥.. x_c 是什么?

任何建议表示赞赏!

0 投票
1 回答
113 浏览

php - 无法在 PHP 中为 D2L 的 Valence 完成任何 POST 操作

我一直在阅读 valence 的 API 文档、stackoverflow 和其他随机网站上已经提出的问题。

在使用 valence 和 PHP 对 D2L 进行任何后期调用时遇到了一些困难。

我充其量只是一名业余程序员,但我正在尝试做一些可能对我的组织有所帮助的事情。

一点背景:

  1. 我使用的用户角色有权在 D2L 中创建用户。

  2. 我基于 D2L 在外部站点上提供的基本示例托管我的 PHP 代码。

  3. 我正在使用 D2L 提供的 GettingStartedSample for PHP。

  4. 我可以轻松地制作各种 GET 语句

  5. JSON 数据在 GettingStartedSample 中创建:

    /li>

最终我的问题只是一个是或否的问题(但我喜欢更多的提示/细节)。

鉴于上述背景信息,我应该能够使用 GettingStartedSample 发出发布请求吗?

谢谢

-贾斯汀

0 投票
1 回答
313 浏览

c# - Valence D2l:使用组织单位 ID 的 url 的课程偏离

我目前正在使用 c# 从 org unit id 获取课程设置。

我对 D2L valence 是全新的。我有应用 ID/密钥对和用户 ID/密钥对。

我将输入组织单位id,获取json响应,在c#中解析json响应,并输出相关的课程代码和名称。

这是我的 GET 代码。而且,我正在尝试调用它。网址和主要代码如下:

问题是我收到错误消息:远程服务器返回错误:(403)Forbidden。

另外,我试过这个网址:

这一次,我得到了这个错误(对象引用未设置为对象的实例。)

我有应用 ID/密钥对和用户 ID/密钥对。

我应该怎么做才能解决这个问题并最终获得课程。

在此先感谢,菲利普

0 投票
1 回答
528 浏览

jquery - 如何在我的小部件中使用 Valence API?

我正在尝试在我们的 D2L LMS 测试环境系统中创建一个自定义小部件,该小部件将在课程主页中使用讲师用户个人资料图像和名称填充该小部件。我被告知我可以使用 Valence API 来做到这一点,所以我阅读了 Valence http://docs.valence.desire2learn.com/上的所有文档。然后我在我的 LMS 的管理可扩展性管理工具中注册了我的小部件(即使我没有使用外部应用程序)。我还从https://github.com/Brightspace/valence-sdk-javascript/releases下载了客户端库 javascript 版本,进行了一些更改以添加我自己的 API 密钥和 ID,并将它们上传到我的课程管理文件 valenceJS 文件夹中。

在我的小部件中,我试图通过添加以下代码来使用 whoami 调用来测试 API 调用:

但是,我的小部件显示错误 403 Forbidden 并且系统冻结。然后,我取出插入文件的脚本,它仍然显示错误 403 Forbidden,但系统不再冻结。

我不确定我做错了什么,因为我没有在 API 中使用外部应用程序,我在 LMS 中,因为小部件是 LMS 工具,所以我很困惑为什么我必须注册小部件并获取 API 密钥和 ID 以及在这种情况下身份验证的工作方式。我在 API 测试工具中测试了我的 API 密钥和 ID,它可以为这个 whoami call '.

我以具有更高安全级别的管理员身份登录 LMS,但仍然收到 403 Forbidden。当我使用我的学生帐户登录 LMS 时也是如此。

感谢您的帮助和关注。

0 投票
1 回答
522 浏览

c# - D2L Valence:在 c# 中使用应用程序和用户 ID/密钥进行自动身份验证

以下是我的代码。

我正在构建 ac# 窗口应用程序以从 url 获取一些信息,而无需登录但自动登录。

它是一个窗口应用程序表单,当用户单击接受按钮时将输出课程设置。此代码基于 valence-client-side 示例代码。我希望这个应用程序使用应用程序 ID/密钥对和用户 ID/密钥对登录并获取课程设置并输出它们。但是,当我运行这个程序时,它只会停止var ctx = httpListener.GetContext(); 在这条线上。我不希望它打开浏览器,但希望在 c# 中使用应用程序和用户 ID/密钥对自动登录,并从 url 获取 json 响应。所以用户不必登录。

任何形式的帮助将不胜感激。谢谢,菲利普

0 投票
1 回答
110 浏览

desire2learn - 可以使用 Desire2Learn Valence API“清除”等级值吗?

有没有可能使用 D2L Valence API 完全清除先前设置的等级值的方法?我可以成功设置或更新成绩值,但似乎没有明显的方法可以像从 D2L 用户界面中那样完全删除成绩值。

我尝试了几种方法来做到这一点:

  1. 使用等级值更新路由将传入等级值设置为空: PUT /d2l/api/le/(version)/(orgUnitId)/grades/(gradeObjectId)/values/(userId) (请注意,我正确地替换了有效值对于所有 ID、版本等)这将返回“400 Bad Request”状态代码。
  2. 使用 DELETE 动词调用相同的路由。这会返回一个 404 Not Found 错误代码(不出所料,因为它没有记录在案的路线:我只是在黑暗中尝试过它)。
  3. 调用 PUT 路由但省略传入的等级值主体。这也会返回 404。

我总是可以将等级值设置为 0,但这并不令人满意,因为它不是一回事。我实际上不想分配零级;我想不指定成绩,因此很明显需要手动指定成绩等。除了 null 之外,我是否可以使用其他类型的幻数/哨兵来实现这一点,或者这只是一个差距价API?

0 投票
3 回答
137 浏览

valence - 最终调整品级价

有没有办法通过 valence API 来拉出最终调整后的成绩?我试图通过 GET /d2l/api/le/(version)/(orgUnitId)/grades/final/values/(userId) 拨打电话

并通过

GET /d2l/api/le/(version)/(orgUnitId)/grades/values/(userId)/

但未能为用户获得最终调整后的成绩值。

任何帮助,将不胜感激。

0 投票
1 回答
16 浏览

valence - 阅读能力与价

我正在尝试使用此处引用的操作从课程中读取能力http://docs.valence.desire2learn.com/res/competency.html

GET /d2l/api/le/(version)/(orgUnitId)/competencies/structure

文档指出它首次出现在 Learning Environment v10.4.0 中。不确定要使用哪个 api 版本,因为它没有被提及。我尝试过 LE v1.4 和 LE v.1.5,但两个版本都返回未找到错误。

即使不稳定,此操作是否可用?

0 投票
1 回答
72 浏览

desire2learn - 获取课程 TOC 时获取某些课程的 303

我正在尝试通过拨打此电话来获取课程内容:

此调用返回 303 错误。使用 SDK,显示的错误是:错误:发生未知错误(HTTP 状态 303) Fiddler 中的原始响应显示为:HTTP/1.1 400 Bad Request

对另一门课程的调用效果很好:

它返回预期的 json。Fiddler 显示 HTTP/1.1 200 OK。

我想可能是权限问题,但我是以超级管理员的身份打电话的。我也尝试使用作为课程管理员的帐户,但没有任何区别。想法?

0 投票
1 回答
51 浏览

desire2learn - 是否有 API 可以访问 D2L 中的导入/复制组件日志文件?

使用desire2learn 中的(g)ui,如果您有足够的权限,您可以查看目标组织单位的导入/复制请求的历史记录。有没有一种程序化的方式来访问该历史记录?

我们使用 Valence 复制了很多项目,我们得到的唯一迹象是工作本身是否失败。通常一项工作会成功,但副本的某些部分失败了,我们想知道这一点。