Protocol for interacting with MyStudies
This is a library that can authenticate against the ETH Zurich myStudies platform. It is able to extract grades, courses, examination dates and more data from the myStudies platform into a JSON format.
This code was used in Bestande 3.0 for enabling a ETHZ login feature which would allow users to see an overview of their courses and grades as well as their timetable.
Please note that we have since then removed the feature since ETHZ is arguing that it is not allowed for students to enter their credentials into third party apps. We are releasing this code for personal, educational and research purposes and do not suggest that you should build an app which accepts ETHZ credentials. This also means that we are not anymore using this code and that it can break in the future, and that we can not guarantee support for this library.
The code is not published in any registry, you have to build the library from source. Clone this repository and run
npm install
npx tsc
to build the library. The entry point will be in dist/scraper
the function fetchAll
.
The function to interact with the ETHZ server takes 4 parameters:
- Shortname
- Password
- Fetch function, on the server first require
require('isomorphic-fetch')
then pass the globalfetch
, in React Native you can pass the globalfetch
. - Progress function, for example
progress => console.log(progress)
There is an example included which allows you to enter your shortname and password and which will return the JSON response for your account.
Simply enter the shortname and password in src/example.ts
and then run npm run example
.
- uzh-summary-of-credits - The UZH version of this library
MIT