如何使用web服务从其他系统上传moodle中的用户图片
我有Moodle和Drupal集成系统,Drupal是主要的,用户首先在Drupal中创建,然后通过web服务在Moodle中创建,但我无法将用户图片从Drupal传送到Moodle,我不需要核心修复,需要干净、系统的解决方案如何使用web服务从其他系统上传moodle中的用户图片,moodle,Moodle,我有Moodle和Drupal集成系统,Drupal是主要的,用户首先在Drupal中创建,然后通过web服务在Moodle中创建,但我无法将用户图片从Drupal传送到Moodle,我不需要核心修复,需要干净、系统的解决方案 有人能帮我吗?不幸的是,目前core中没有合适的web服务支持此功能。您可以在Moodle Home安装中看到web服务文档▶ 现场管理▶ 插件▶ 网络服务▶ API文档 有很多方法可以通过插件来支持这一点,但由于您似乎并不热衷于走这条路,您是否考虑过使用Gravatar
有人能帮我吗?不幸的是,目前core中没有合适的web服务支持此功能。您可以在Moodle Home安装中看到web服务文档▶ 现场管理▶ 插件▶ 网络服务▶ API文档
有很多方法可以通过插件来支持这一点,但由于您似乎并不热衷于走这条路,您是否考虑过使用Gravatar作为解决方案?有关于如何设置的文档:第一步是上传图片
localhost/moodle/webservice/upload.phptoken=9f47591ed3f6cc53720f0dc4e81&filearea=draft
参数:-
token=9f47591ed3f6cc53720f0dc4e81
filearea=draft
然后你会得到这样的回答
[
{
"component": "user",
"contextid": 5,
"userid": "2",
"filearea": "draft",
"filename": "Ali Hasans Resume.pdf",
"filepath": "/",
"itemid": 560134043,
"license": "unknown",
"author": "Admin User",
"source": "O:8:\"stdClass\":1:{s:6:\"source\";s:21:\"Ali Hasans Resume.pdf\";}"
}
]
- 第二步 更新个人资料图片 localhost/moodle/webservice/rest/server.php?moodlewsrestformat=json&draftitemid=560134043&wsfunction=core\u user\u update\u picture&wstoken=9f47591ed3f6cc53720f0dc4e81
moodlewsrestformat=json
draftitemid=560134043 this "draftitemid" comes from upload.php response
wsfunction=core_user_update_picture
wstoken=9f47591ed3f6cc53720f0dc4e81
如果成功的话,反应会像
{
"success": true,
"profileimageurl": "http://localhost/moodle/theme/image.php/alpha/core/1609845491/u/f1",
"warnings": []
}
这是我的想法