WebサービスFAQ

このドキュメントはWebサービスフォーラムからのよくある質問をいくつかリストしています。

WebサービスとMNetの違いは何ですか

MNetは、Moodle AサイトからMoodle Bサイトへの一部のユーザを認証するために使用されます。

Webサービスは、(SOAP、XML-RPC、REST、またはAMFを介して)外部アプリケーションから呼び出すことができる機能です。

「Webサービス」という用語はさまざまな意味で使用されていますが、どういう意味ですか?

  1. Moodleのシステム全体をMoodle Webサービスシステムと呼びます。
  2. 特定のアクション(ユーザーの作成など)はWebサービス機能として知られています。
  3. 管理者は外部使用のためにこれらの機能のグループを有効にすることができます、そしてこれらは「Webサービス」として知られています。

WebサービスAPIはどこに文書化されていますか?

さまざまなMoodleサイトでAPIを拡張または制限することができ、APIは時間の経過とともに進化するため、特定のMoodleサイトの正確なAPIを確認する最良の方法は、自動的に生成されたドキュメントを見ることです。

完全なAPIドキュメント

  1. 管理者として接続
  2. [管理設定]ブロック> [プラグイン]> [Webサービス]> [APIドキュメント]に移動します。

ユーザーへの特定の文書

  1. 管理者として接続し、ウェブサービスを有効にし、サービスを作成し、それにいくつかのMoodle機能を追加します。 How_to_create_and_enable_a_web_serviceも参照してください。
  2. 非管理者として接続し、 セキュリティキーページのサービスドキュメントにアクセスしてください

APIに多くの機能がないのはなぜですか?

新しい関数を追加するときは、API関数が一度実装されたら変更したくないため、非常に慎重になっています。私たちがMoodle 2.0で持っているものは、最も一般的に要求されているものです(ユーザ、コース、グループ、そして登録用)。

コミュニティからの貢献と機能の要望に基づいて、コアに機能を追加していきます。 Webサービスのロードマップを参照してください。

独自のAPI関数を作成することであなた自身のMoodleサイトでAPIを拡張することもできます(次の質問を参照)。

新しいWebサービス機能を作成する方法を教えてください。

ウェブサービスを追加する最も簡単で推奨される方法は、新しいMoodleローカルプラグインを作成し、そこでウェブサービス機能を実装することです。 Moodle管理者はMoodleにプラグインを追加するだけでよいでしょう(/ local /にファイルをコピーしてください)、ウェブサービス機能は自動的に追加されます。プラグイン開発の詳細については/local/readme.txtを読んでください。最後に、WebサービスとWebサービス機能の実装方法を読みます

Webサービスを設定する方法

Moodle SOAPサーバはJAVAまたは.NETと連携しますか?

残念ながら、生成されたWSDLは現在JAVAや.NETと互換性がありません。 JAVA互換のSOAP WSDLを作成する計画については、 MDL-28988およびMDL-28989を参照してください。

外部アプリケーションからユーザートークンを取得する方法

/login/token.phpファイルでユーザートークンを生成したり取得することができます=> ユーザートークンを取得する方法

「アクセス制御例外」エラーとは

これは、この管理設定の1つが失敗したことを意味します。

  • 許可ユーザー:IP制限がユーザーの認証に失敗する(「管理」>「プラグイン」>「Webサービス」>「サービスの管理」>「許可ユーザー」>「ユーザーのフルネーム」をクリック)
  • 許可ユーザー:有効期限が切れています(「管理」>「プラグイン」>「Webサービス」>「サービスの管理」>「許可ユーザー」>「ユーザーのフルネーム」をクリック)。
  • 管理者がトークンを作成しました:IP制限がユーザーの認証に失敗しました([管理]> [プラグイン]> [Webサービス]> [トークンの管理]> [ステータスの確認])
  • 管理者がトークンを作成しました:有効期限が切れています(「管理」>「プラグイン」>「Webサービス」>「トークンの管理」>「状況の確認」)
  • ユーザーが許可リストにリストされていない(「管理」>「プラグイン」>「Webサービス」>「サービスの管理」>「許可ユーザー」)
  • ユーザーに必要な機能がありません([管理]> [プラグイン]> [Webサービス]> [サービスの管理]> [サービスの編集])。
  • メンテナンスモードのサイト
  • ユーザーは一時停止しています
  • ユーザーが確認されていません
  • ユーザーが削除されました
  • ユーザー認証がnologinに設定されている(ユーザープロファイルを編集する)
  • パスワードの有効期限が切れている(ほとんどの場合、LDAPなどの外部認証で起こります)
  • Webサービスが無効になっている([管理]> [詳細機能])
  • ユーザーには、使用されているWebサービスプロトコルを使用する機能がありません(ユーザーは、機能 'webservice / use:xmlrpc' / 'webservice / use:rest' / ...をSYSTEMコンテキストで持つ必要があります)。
  • ユーザートークンが存在しません
  • Webサービス機能はサービスに含まれていません

Moodle 2.2以降、管理者がMoodleデバッグモード> = NORMALを選択すると、明示的なエラーメッセージが返されます。

さらに質問がありますか?

moodle.orgのWebサービスフォーラムに投稿してください。