【问题标题】:What are the permissions required in desire2learn (D2L) Valence PUT call for .../courses?对于.../课程的desire2learn (D2L) Valence PUT 调用所需的权限是什么?
【发布时间】:2013-09-11 13:36:08
【问题描述】:

我继续收到来自对 /d2l/api/lp/1.2/courses/7917 的 PUT 请求的“HTTP/1.1 403 Forbidden”响应。这可能是我正在使用的用户/角色的权限问题,但我无法弄清楚可能需要哪些特定权限。谁能指出我的价路线和所需权限的列表或矩阵?或者,回答这个具体的问题?

相同的 appid/userid/username 适用于与相同路径关联的 GET。

困惑...

cwt

【问题讨论】:

    标签: desire2learn valence


    【解决方案1】:

    与 API 调用关联的权限应反映您通过 Learning Envrionment 的 Web UI 执行相关功能时必须拥有的权限。您可以从两个方面考虑这个问题:

    • 根据用户角色提出问题:确定您在现有配置中保留此功能的用户类别,并确保该角色的用户可以像您一样通过 API 进行调用会期待的。

    • 以抽象的单个用户的形式提出问题:从没有权限的角色开始,然后添加权限,直到您只获得 API 调用所需的权限。这不是一个简单的练习,从长远来看,第一种方法更有用。

    在这种特殊情况下,由于 API 要求您提供 完整 课程以提供一组属性,因此您必须有权更改该组中的所有属性(在Manage Courses 工具)。您还需要能够首先查看课程信息,因此您还需要拥有Course Management Console > See Course Info。

    查看Manage Courses 和Course Management Console 工具中的权限数组可能最安全这些工具中指定的权限数组。

    【讨论】:

    • 谢谢你,最后我的问题出在我的(java)代码中,我试图使用 HTTP POST 进行 PUT,不知道为什么会导致授权问题 - 我怀疑是因为令牌不在它应该在的地方。我还确实找到了要更新的产品(我的目标)的两个特定权限。
    • 请注意,API 请求中用户签名和应用签名的身份验证令牌基于(部分)使用基本字符串中的 HTTP 方法进行签名。因此,如果您调用一个应该是 POST 路由的路由并使用 PUT 执行此操作,则这很可能会作为无效令牌的 403 被发送回,具体取决于您如何签署路由以及如何将其分派到服务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多