Blatzar / schoolsoft-api-app

Reverse engineered schoolsoft api the app uses.
9 stars 1 forks source link

Exemplet fungerar inte #5

Open bappobrad69 opened 3 years ago

bappobrad69 commented 3 years ago
import schoolsoft_api
name, password, school = 'name', 'password', 'school' # Place real values here.
app_key = schoolsoft_api.get_app_key(name, password, school)
org_id = app_key['orgs'][0]['orgId']
token = schoolsoft_api.get_updated_token(school, app_key_json=app_key)['token']
schoolsoft_api.get_lunch(token, school, org_id)

Jag ändrade självklart name, password och school till de rätta men får detta error:

org_id = app_key['orgs'][0]['orgId']
KeyError: 'orgs'
Blatzar commented 3 years ago

Schoolsoft var nere igår eller förrgår tror jag, kolla om exemplet fungerar nu, det gör för mig. Säkert bara otur när du testade

bappobrad69 commented 3 years ago

Har fortfarande samma problem, requesten till schoolsofts rest api resulterar också i ett 403

Blatzar commented 3 years ago

Kan du logga in på mobilappen?

Kolla också skollistan efter studentLoginMethods, parentLoginMethods eller teacherLoginMethods beroende på vilket slags konto du försöker nå från och rapportera resultatet.

Det är bara testat som student login och använder logintype '4' så jag antar att apin inte skulle funka för exempelvis 'Pysslingen Förskolor' eftersom de bara har loginMethods '3'. Vissa skolor använder sitt eget inloggningsssystem eller bankID vilket inte stöds än.

'usertype' hardcodat i apin, det kanske är problemet, loggar du in som elev, lärare eller förälder?

bappobrad69 commented 3 years ago

Ok tack så mycket, min skola använder sig av logintype 3 vilket gör att min request går igenom. Men nu har jag ett nytt problem.

response = requests.post('https://sms.schoolsoft.se/pysslingen/rest/app/login', data={
    'identification': 'namn',
    'verification': 'lösenord',
    'logintype': '3',
    'usertype': '1'
})

Detta ger mig en status på 200 men response.json() ger mig ett tomt object. Det jag antar är att apiet inte stödjs då jag tror inloggningen hos mig hanteras av academedia.

Blatzar commented 3 years ago

Det jag antar är att apiet inte stödjs då jag tror inloggningen hos mig hanteras av academedia.

Ja, får väl lägga till detta till readme. Du får gärna lägga upp apin för academedia för schoolsoft om du får tag på den.