MoodleにはREST APIがあるのだが・・・まともな使用例が皆無という状況。みんなどうやって大規模,定期開催コースを管理しているのか。
Setup
一応ドキュメントがある。
Using web services - MoodleDocs
しかし,"Site administration > Server > Web services > Overview"を開いて,手順に則った方が早い。
実験だけであれば,管理者ユーザが"Web service:REST protocol"が"Yes"になれば使える。手順途中のcustom serviceなどに惑わされないこと。
CURL
curl "http://localhost/webservice/rest/server.php?wstoken=abcdefgh123456789&wsfunction=core_webservice_get_site_info&moodlewsrestformat=json"
tokenは,create tokenのページで作ったものをべたっと貼るだけ。表示の都合上,改行されているが,この書き方であれば1行で書く。
とりあえずcurlくんで動くところまで。便利なAPIは順次ためしていく。
感想
MoodleにはCLIもあるのだが・・・能力は未知数。ローカルのPHPスクリプトなので,Docker化されたMoodle上で動かすのは厳しいと思う。
追記:REST APIの使用例を見つけた・・・PHPで書かれているけれど様子はつかめる。貴重な情報源だ。
GitHub - guilhermebferreira/moodlerest: Moodle REST API Examples