「ウェブサービスFAQ」の版間の差分

提供:MoodleDocs
移動先:案内検索
編集の要約なし
(同じ利用者による、間の42版が非表示)
1行目: 1行目:
{{Web services}}
{{ウェブサービス}}


作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] ([[利用者・トーク:Mitsuhiro Yoshida|トーク]])
このドキュメントでは、よくある質問を[http://moodle.org/mod/forum/view.php?id=6971 ウェブサービスフォーラム]からリストアップしています。
 
This document lists some popular questions from the [http://moodle.org/mod/forum/view.php?id=6971 Web Services forum].


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


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


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


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


# Moodleのシステム全体は「Moodleウェブサービスシステム」と称されます。
# Moodleのシステム全体は「Moodleウェブサービスシステム」と称されます。
27行目: 25行目:
'''ユーザ固有のドキュメンテーション'''
'''ユーザ固有のドキュメンテーション'''
# 管理者としてログインした後、ウェブサービスを有効にして、作成したサービスにMoodleの関数を追加してください。詳細は[[ウェブサービスを使用する]]をご覧ください。
# 管理者としてログインした後、ウェブサービスを有効にして、作成したサービスにMoodleの関数を追加してください。詳細は[[ウェブサービスを使用する]]をご覧ください。
# 非管理者としてログインした後、あなたの[[how_to_get_a_security_key|セキュリティページ]]のサービスドキュメンテーションをご覧ください。
# 非管理者としてログインした後、あなたの[[セキュリティキー|セキュリティキーページ]]のサービスドキュメンテーションをご覧ください。


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


We have been very careful when adding new functions because we don't want to be changing the API functions once they are implemented.  The ones we have in Moodle 2.0 are the most commonly requested ones (for users, courses, groups and enrolments)
実装後にAPI関数を変更したくないため、私たちは新しい関数の追加に非常に慎重になっています。私たちがMoodle 2.0に実装している関数は一般的に要求されるもの (ユーザ、コース、グループ、登録) です。


We will add more functions to core over time, based on contributions from the community and feature requests.  See the [[:dev:Web_services_Roadmap|web service roadmap]].
コミュニティからの寄稿および機能リクエストに基づき、私たちは徐々に関数を追加する予定です。詳細は[[:dev:ウェブサービスロードマップ|ウェブサービスロードマップ]]をご覧ください。


You can also extend the API on your own Moodle site by creating your own API functions (see next question).
オリジナルのAPI関数を作成することで、あなたのMoodleサイトでAPIを拡張することもできます (次の質問をご覧ください)


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


The easiest and recommended way to add a web service is to write a new Moodle local plugin and to implement the web service functions there.  The Moodle administrator will just need to add the plugin in Moodle (copy the files in /local/), the web service functions will be automatically added. Please read /local/readme.txt for more information about plugin development. Finally read  [[:dev:Creating_a_web_service_and_a_web_service_function|how to implement a web service and a web service function]].
ウェブサービスを追加するための最も簡単でお勧めの方法は新しいMoodleローカルプラグインを書いて、そこにウェブサービスを実装する方法です。Moodle管理者がMoodleにプラグインを追加 (ファイルを /local/ にコピー) するだけで、ウェブサービス関数が自動的に追加されます。プラグインの開発に関して、詳細は「/local/readme.txt」をご覧ください。最後に[[:dev:Creating_a_web_service_and_a_web_service_function|ウェブサービスおよびウェブサービス関数の実装方法]]をご覧ください。


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


* See the document [[How_to_create_and_enable_a_web_service| How to create and enable a web service]].
* まず、ドキュメント「[[ウェブサービスを作成および有効にする方法]]」をご覧ください。
* ''Settings > Site administration > Plugins > Web services > Overview'' explains two use cases.
* 「設定 > サイト管理 > プラグイン > 概要」では、2つの使用例を説明しています。
* Finally ask questions on the [http://moodle.org/mod/forum/view.php?id=6971 Web Services forum]
* 最後に[http://moodle.org/mod/forum/view.php?id=6971 ウェブサービスフォーラム]で質問してください。


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


Unfortunately the generated WSDL isn't currently compatible with JAVA or .NET. See MDL-28988 and MDL-28989 for plans to create a JAVA-compatible SOAP WSDL.
残念ですが、現在のところ、生成されるWSDLはJAVAまたは.NETとの互換性がありません。JAVA互換SOAP WSDLの作成プランに関して、MDL-28988およびMDL-28989をご覧ください。
 
== どのようにして外部アプリケーションからユーザトークンを取得しますか? ==


== どのようにして外部アプリケーションからユーザトークンを所得しますか? ==
あなたは/login/token.phpファイルを使ってユーザトークンを生成および検索することができます => [[:dev:Creating_a_web_service_client#How_to_get_a_user_token|ユーザトークンの取得方法 (英語)]]
you can generate and retrieve user tokens with the /login/token.php file => [[:dev:Creating_a_web_service_client#How_to_get_a_user_token|How to get a user token]]


== 「アクセスコントロール例外」エラーとは何ですか? ==
== 「アクセスコントロール例外」エラーとは何ですか? ==
It means that one of this admin setting has failed:
これは管理設定の1つが正しくないことを意味します:
* authorised user: ip restriction fails to authenticate the user (Administration > Plugins > Web services > Manage services > Authorized users > click on user full name)
* 認証ユーザ: IP制限がユーザの認証を失敗させている。
* authorised user: valid date is expired (Administration > Plugins > Web services > Manage services > Authorized users > click on user full name)
* 認証ユーザ: 有効期限が切れている。
* admin created the token: ip restriction fails to authenticate the user (Administration > Plugins > Web services > Manage tokens > check the status)
* 管理者作成トークン: IP制限により、ユーザ認証に失敗している。
* admin created the token: valid date is expired (Administration > Plugins > Web services > Manage tokens > check the status)
* 管理者作成トークン: 有効期限が切れている。
* the user is not listed in the authorized list (Administration > Plugins > Web services > Manage services > Authorized users)
* ユーザが認証一覧に掲載されていない。
* the user hasn't the required capability (Administration > Plugins > Web services > Manage services > Edit service)
* 必要なケイパビリティがユーザに割り当てられていない。
* site in maintenance mode
* サイトがメンテナンスモードにされている。
* user is suspended
* ユーザが利用停止にされている。
* user is not confirmed
* ユーザの確認が完了していない。
* user is deleted
* ユーザが削除されている。
* the user authentication is set to nologin (edit the user profile)
* ユーザ認証が「ログインなし」に設定されている (ユーザプロファイルを編集してください)
* password expired (most likely happens with external authentication like LDAP)
* パスワードの有効期限が切れている (LDAPのような外部認証を使用している場合に多く発生します)
* web service disabled (Administration > Advanced features)
* ウェブサービスが無効にされている (管理 > 拡張機能)
* user doesn't have the capability to use the used web service protocol (user should have the capability 'webservice/use:xmlrpc'/'webservice/use:rest'/..., on SYSTEM context).
* 使用されるウェブサービスプロトコルに対して、ユーザにケイパビリティがない (ユーザはシステムコンテクストにおいて、ケイパビリティ「webservice/use:xmlrpc」および「webservice/use:rest」を持つ必要があります)
* the user token doesn't exist
* ユーザトークンが存在しない。
* the web service function is not included in the service
* サービスにウェブサービス関数が実装されていない。


Since Moodle 2.2, if the administrator turns Moodle debug mode >= NORMAL, then an explicit error message will be returned.
Moodle 2.2以降、管理者がデバッグモードを「NORMAL」に設定した場合、詳細エラーメッセージが表示されます。


==関連情報==
==関連情報==

2013年12月8日 (日) 15:08時点における版


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

ウェブサービスと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」に設定した場合、詳細エラーメッセージが表示されます。

関連情報