我有Moodle& Drupal集成系统,Drupal是主要的,用户首先在drupal中创建然后它将通过web服务在moodle中创建,但我无法将用户图片从drupal带到moodle,我不想要核心修复,需要干净和系统化解决方案。
任何人都可以帮助我吗?
答案 0 :(得分:1)
不幸的是,核心中没有适当的Web服务支持此功能。您可以在主页▶站点管理▶插件▶Web服务▶API文档中看到Moodle安装中记录的Web服务。
有许多方法可以通过插件来支持这一点,但是由于您似乎不想沿着这条路走下去,请考虑使用Gravatar作为解决方案吗?有关于如何设置的文档:http://docs.moodle.org/25/en/Roles_settings#Enable_Gravatar
答案 1 :(得分:0)
第一步上传图片
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_user_update_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": []
}