2017-06-20 8 views
1

私は現在大学の学生です。私は毎日Moodleを使用しています。 私が利用できるいくつかの情報にアクセスしたいと思います(例えば、私が取っているクラスの情報、期限と時期など)学生としてのMoodle APIからの情報の取得

私はMoodleのAPIに関するいくつかの研究をしましたが、 Moodle(My University)を実際に動かすパワーユーザーに向けられています。

生徒が情報を取得する簡単な方法はありますか?

私のアプリケーションは、あなたの大学がモバイルアプリ用のWebサービスを有効にしている場合は、あなたがあなた自身のAPIトークンを生成し、モバイルアプリで使用されるWebサービスを呼び出すことができますNode.jsの

+0

何の学生のAPIが存在しない場合あなたはhtmlや解析のようなsomethingsを試す必要があります... –

答えて

1

を使用しています。後者が有効になっていない場合は、Webサービスにアクセスするために管理者に連絡する必要があります。 moodle.org

ファーストを使用して

デモ、のは、APIトークン(パスワードで$PASSWORDを置き換える)取得してみましょう:

$ curl -d username="fmcorz" -d password="$PASSWORD" 'https://moodle.org/login/token.php?service=moodle_mobile_app' 
{ 
    "token":"SNIPTOKEN", 
    "privatetoken":"SNIPPRIVATE" 
} 

次に、我々はあなたのuseridを必要とする、それが他の全体で使用されますWebサービスコール。 useridは、Webサービスcore_webservice_get_site_infoを呼び出して入手することができます。 $TOKENを上記で取得したトークンに置き換えてください。

$ curl -d wstoken="$TOKEN" -d wsfunction=core_webservice_get_site_info 'https://moodle.org/webservice/rest/server.php?moodlewsrestformat=json' | python -m json.tool | grep userid 
"userid": 1451616, 

今、あなたはあなたのuseridを持っていることを、私たちはあなたがに在籍しているコースをリクエストすることができ

$ curl -d wstoken="$TOKEN" -d wsfunction=core_enrol_get_users_courses -d userid=1451616 'https://moodle.org/webservice/rest/server.php?moodlewsrestformat=json' | python -m json.tool 
[ 
    { 
     ...snip... 
     "fullname": "Moodle in English", 
     "id": 5, 
     ...snip... 
    }, 
    { 
     ...snip... 
     "fullname": "Moodle en fran\u00e7ais", 
     "id": 20, 
     ...snip... 
    }, 
    { 
     ...snip... 
     "fullname": "Moodle Certification", 
     "id": 48, 
     ...snip... 
    } 
] 

総集編」

前提条件:

  • のモバイルアプリ Webサービスは、RESTプロトコルは
  • を有効にする必要があります
  • を有効にする必要がありますあなたはAPIを必要とするトークン

問合せ:

  • 要求はYOURHOST/webservice/rest/server.php?moodlewsrestformat=jsonに作られています。
  • 要求が
  • 要求がwstoken含まれている必要がありますPOST要求でなければなりません:あなたのトークン
  • 要求がwsfunctionが含まれている必要があります:あなたは
  • 要求を呼び出している関数がタイプでなければなりません:application/x-www-form-urlencoded

もっと

私はこれがどのように機能し、どのように代わりにそこにあるが、これはあなたを始めなければならない。あなたはおそらく利用可能なWebサービスの詳細情報を取得するために、開発者向けドキュメントを見に興味があるでしょう:

関連する問題