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

提供:MoodleDocs
移動先:案内検索
編集の要約なし
(同じ利用者による、間の33版が非表示)
1行目: 1行目:
{{Web services}}
{{ウェブサービス}}
 
作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] ([[利用者・トーク:Mitsuhiro Yoshida|トーク]])


このドキュメントでは、よくある質問を[http://moodle.org/mod/forum/view.php?id=6971 ウェブサービスフォーラム]からリストアップしています。
このドキュメントでは、よくある質問を[http://moodle.org/mod/forum/view.php?id=6971 ウェブサービスフォーラム]からリストアップしています。
7行目: 5行目:
== ウェブサービスと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ウェブサービスシステム」と称されます。
39行目: 37行目:
== どのようにすれば、ウェブサービス関数を作成できますか? ==
== どのようにすれば、ウェブサービス関数を作成できますか? ==


ウェブサービスを追加するための最も簡単で、お勧めの方法は新しいMoodleローカルプラグインを書いて、そこにウェブサービスを実装する方法です。Moodle管理者がMoodleにプラグインを追加 (ファイルを /local/ にコピー) するだけで、ウェブサービス関数が自動的に追加されます。プラグインの開発に関して、詳細は「/local/readme.txt」をご覧ください。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」に設定した場合、詳細エラーメッセージが表示されます。

関連情報