K's Atelier

個人的な学習記録

REST API (Moodle)

MoodleにはREST APIがあるのだが・・・まともな使用例が皆無という状況。みんなどうやって大規模,定期開催コースを管理しているのか。

Setup

一応ドキュメントがある。

Using web services - MoodleDocs

しかし,"Site administration > Server > Web services > Overview"を開いて,手順に則った方が早い。

Web services > Overview

実験だけであれば,管理者ユーザが"Web service:REST protocol"が"Yes"になれば使える。手順途中のcustom serviceなどに惑わされないこと。

ユーザがREST APIを使える状態

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