外部から小テストに使われている画像ファイルの読み込みに関しまして

外部から小テストに使われている画像ファイルの読み込みに関しまして

- Sangki Kim の投稿
返信数: 2

こんにちは。

Moodleの小テストの問題に使われている画像ファイルを外のシステムから読み込みしたく、

直接moodleのDBに接続し、mdl_questionテーブルのデータを参照しようとしましたが、

DB上ではquestion_textが<img src="https://moodle.org/pluginfile.php/165/mod_forum/post/1590341/%E5%9B%B35.png" alt="" wi...という値になっており、このままじゃ外からは画像ファイルを参照できなくなっています。

そもそも、Moodleの外からMoodle内の画像ファイルを読み込みすることはできるか、

できるとしたら、外のシステムから画像ファイルを読み込みしたい場合、何かのWeb service APIを利用する必要があるかを知りたいです。


お手数ですが、よろしくお願いします。

Sangki Kim への返信

Re: 外部から小テストに使われている画像ファイルの読み込みに関しまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> そもそも、Moodleの外からMoodle内の画像ファイルを読み込みすることはできるか、

できます。

> できるとしたら、外のシステムから画像ファイルを読み込みしたい場合、何かのWeb service APIを利用する必要があるかを知りたいです。

Web service APIを利用する必要があります。

以下の手順で小テスト内の画像を表示できるかと思います。

  1. Moodleにサイト管理者としてログインする。
  2. 「管理 > サイト管理 > プラグイン > ウェブサービス」に移動する。
  3. 「外部システムによるMoodleのコントロールを許可する」セクションに移動する。
  4. 「1. ウェブサービスを有効にする」でウェブサービスを有効にする。
  5. 「2. プロトコルを有効にする」でプロトコル「rest」を有効にする。
  6. 「3. ユーザを作成する」でウェブサービス用のユーザを作成する (例 ユーザ名: webservice)。
  7. 「4. ユーザケイパビリティをチェックする」でウェブサービス用のユーザのケイパビリティ「webservice/rest:use」が有効にされていることを確認する。
  8. 「5. サービスを選択する」で本投稿の添付画像のように画像表示用のカスタムサービス (例 getting images) を作成する。
  9. 「5. サービスを選択する」で作成したカスタムサービスに「6. 関数を追加する」で関数「core_files_get_files」を追加する。
  10. 「7. ユーザを選択する」で「カスタムサービス」セクションに表示される外部サービスの「許可ユーザ」 (認証済みユーザ) リンクをクリックしてウェブサービス用のユーザ (例 ユーザ名: webservice) を選択する。
  11. 「8. ユーザのトークンを作成する」で「ユーザ = webservice」「サービス = getting images」を選択して「変更を保存する」ボタンをクリックする。
  12. 小テスト内の画像を表示したいコースにウェブサービス用のユーザ (例 ユーザ名: webservice) を登録する。
  13. ユーザ名およびトークンを指定したURLを使ってコース内小テストの画像をログインなしで表示できるかどうか確認する。※1

※1 コース内小テストの画像を表示するためのURL例
https://your_moodlesite.com/webservice/pluginfile.php/39/mod_quiz/intro/your_image.png?username=webservice&token=8260x564a13fd855sdfc9d2cbaccd69x


添付 Add functions to the service.png
Mitsuhiro Yoshida への返信

Re: 外部から小テストに使われている画像ファイルの読み込みに関しまして

- Sangki Kim の投稿
無事にファイル取得できました!ありがとうございます!