我需要在 Open edX 中创建用户并通过 API 调用登录,从而完成所有 API 工作。这里的主要想法是创建一个登录系统,我的用户可以登录到我们拥有的这个软件,从而浏览所有课件并参加课程并通过软件跟踪他的数据。课程与软件之间的交互将由 REST API 完成。
正在将他的身份复制到 openx 的有效表/数据库中,但它仍然无法解决在线问题。
可以使用 REST API 在 Open edX 中创建/注册用户。
将 POST 方法发送到此 url:youredxdomain.com/user_api/v1/account/registration/
使用表单数据将方法发送到正文。
在上面的 url 中,您将获得像这样的 json 字段
{
restrictions: {
min_length: 3,
max_length: 254
},
required: true,
name: "email",
errorMessages: { },
placeholder: "username@domain.com",
defaultValue: "",
instructions: "",
type: "email",
label: "Email"
},
当您将 POST 方法发送到此 url 时,请确保key
根据 json 中的值进行设置name
,例如key
上面的 json 代码是email
并设置value
为您的电子邮件。在其他领域做同样的事情。
希望它有所帮助。
目前这在 Open edX 中是不可能的,因为没有创建用户的 API。请参阅可用 API 列表。
但是创建一个额外的端点来创建新用户并不难。为此,我建议您使用以下内容UserProfileFactory
:students.tests.factories
https: //github.com/edx/edx-platform/blob/master/common/djangoapps/student/tests/factories.py#L39
这是一个用于测试的工厂,但也可以用于生产——这是一个肮脏的黑客,但它有效。