ウェブサービスFAQ

移動先: 案内, 検索


このドキュメントでは、よくある質問をウェブサービスフォーラムからリストアップしています。

ウェブサービスとMNetの違いは何ですか?

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

ウェブサービスは外部アプリケーション (SOAP、XML-RPC、REST、AMF等) からコールすることのできる関数です。

様々な場面で用語「ウェブサービス」が使用されています。これは何を意味しているのですか?

  1. Moodleのシステム全体は「Moodleウェブサービスシステム」と称されます。
  2. 特定の動作 (ユーザ作成等) はウェブサービスの関数として知られています。
  3. 管理者はこれらの関数のグループを外部で利用できるようにすることができます。そして、これらは「ウェブサービス」として知られています。

APIドキュメントはどこにありますか?

異なるMoodleサイトではAPIを拡張および制限できるため、またAPIは時間とともに進化するため、特定のMoodleサイトの正確なAPIを確認するには、自動生成のドキュメンテーションを閲覧してください。

フルAPIドキュメンテーション

  1. 管理者としてログインしてください。
  2. 「管理 > プラグイン > ウェブサービス > APIドキュメンテーション」にアクセスしてください。

ユーザ固有のドキュメンテーション

  1. 管理者としてログインした後、ウェブサービスを有効にして、作成したサービスにMoodleの関数を追加してください。詳細はウェブサービスを使用するをご覧ください。
  2. 非管理者としてログインした後、あなたのセキュリティキーページのサービスドキュメンテーションをご覧ください。

なぜ多くのAPI関数がないのですか?

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

コミュニティからの寄稿および機能リクエストに基づき、私たちは徐々に関数を追加する予定です。詳細はウェブサービスロードマップをご覧ください。

オリジナルのAPI関数を作成することで、あなたのMoodleサイトでAPIを拡張することもできます (次の質問をご覧ください)。

どのようにすれば、ウェブサービス関数を作成できますか?

ウェブサービスを追加するための最も簡単でお勧めの方法は新しいMoodleローカルプラグインを書いて、そこにウェブサービスを実装する方法です。Moodle管理者がMoodleにプラグインを追加 (ファイルを /local/ にコピー) するだけで、ウェブサービス関数が自動的に追加されます。プラグインの開発に関して、詳細は「/local/readme.txt」をご覧ください。最後にウェブサービスおよびウェブサービス関数の実装方法をご覧ください。

どのようにウェブサービスをセットアップすれば良いですか?

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

残念ですが、現在のところ、生成されるWSDLはJAVAまたは.NETとの互換性がありません。JAVA互換SOAP WSDLの作成プランに関して、MDL-28988およびMDL-28989をご覧ください。

どのようにして外部アプリケーションからユーザトークンを取得しますか?

あなたは/login/token.phpファイルを使ってユーザトークンを生成および検索することができます => ユーザトークンの取得方法 (英語)

「アクセスコントロール例外」エラーとは何ですか?

これは管理設定の1つが正しくないことを意味します:

  • 認証ユーザ: IP制限がユーザの認証を失敗させている。
  • 認証ユーザ: 有効期限が切れている。
  • 管理者作成トークン: IP制限により、ユーザ認証に失敗している。
  • 管理者作成トークン: 有効期限が切れている。
  • ユーザが認証一覧に掲載されていない。
  • 必要なケイパビリティがユーザに割り当てられていない。
  • サイトがメンテナンスモードにされている。
  • ユーザが利用停止にされている。
  • ユーザの確認が完了していない。
  • ユーザが削除されている。
  • ユーザ認証が「ログインなし」に設定されている (ユーザプロファイルを編集してください)。
  • パスワードの有効期限が切れている (LDAPのような外部認証を使用している場合に多く発生します)。
  • ウェブサービスが無効にされている (管理 > 拡張機能)。
  • 使用されるウェブサービスプロトコルに対して、ユーザにケイパビリティがない (ユーザはシステムコンテクストにおいて、ケイパビリティ「webservice/use:xmlrpc」および「webservice/use:rest」を持つ必要があります)。
  • ユーザトークンが存在しない。
  • サービスにウェブサービス関数が実装されていない。

Moodle 2.2以降、管理者がデバッグモードを「NORMAL」に設定した場合、詳細エラーメッセージが表示されます。

関連情報