Seite 1 von 1

webuntis api probleme mi

Verfasst: Samstag 30. Oktober 2021, 15:32
von Kopaker
Hi,
ich versuche das webuntis unserer Schule mit einer der API zu lesen.
folgender Fehler kommt bei mir immer vor:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\titus\Desktop\untis bot.py", line 3, in <module>
    s = webuntis.Session(                   #neue Sitzung auf untis servern
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\session.py", line 607, in __init__
    JSONRPCSession.__init__(self, **config)
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\session.py", line 31, in __init__
    self.config.update(config)
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\utils\misc.py", line 111, in update
    self[key] = value
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\utils\misc.py", line 96, in __setitem__
    filter = self.filters[key]
KeyError: 'useragend'

das ist mein code:

Code: Alles auswählen

import webuntis

s = webuntis.Session(
    server='webuntis.grupet.at:8080',
    username='username',
    password='Passwort',
    school='Staatliche Feintechnikschule',
    useragend='Webuntis'
)

#Sitzungs Login

s.login()                   

for klasse in s.klassen():
    print (klasse.name)

s.logout()
Kann mir da Jemand sagen was ich falsch mache ?

Re: webuntis api probleme mi

Verfasst: Samstag 30. Oktober 2021, 16:51
von sls
Es muss wohl `useragent` heißen. Sieh dir den traceback mal genauer an.

Re: webuntis api probleme mi

Verfasst: Sonntag 31. Oktober 2021, 14:47
von Kopaker
sls hat geschrieben: Samstag 30. Oktober 2021, 16:51 Es muss wohl `useragent` heißen. Sieh dir den traceback mal genauer an.
Danke hat mir weitergeholfen :D
Bekomme nur leider jetzt den Fehler angezeigt:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\utils\remote.py", line 158, in _send_request
    result_data = json.loads(result)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2032.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 14 column 1 (char 13)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\titus\Desktop\untis bot.py", line 13, in <module>
    s.login()
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\session.py", line 91, in login
    res = self._request('authenticate', {
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\session.py", line 118, in _request
    data = rpc_request(self.config, method, params or {})
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\utils\remote.py", line 84, in rpc_request
    result_body = _send_request(
  File "C:\Users\titus\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\webuntis\utils\remote.py", line 161, in _send_request
    raise errors.RemoteError('Invalid JSON', result)
webuntis.errors.RemoteError: [Errno Invalid JSON] 












<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="expires" content="0">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="viewport" id="app-viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>WebUntis</title>

    <script type="text/javascript">
        window.untisUIVersion = 2;
        window.untisMomentLocale= "de";
        window.untis__webpack_public_path__ = "https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/";
        untis = {
            config: {"mode":"STANDARD","locale":"de","contextPath":"/WebUntis","licence":{"name":"Staatliche Feintechnikschule ","name2":"D-78054 Villingen-Schwenningen"},"mandantName":"FTS-Villingen-Schwenningen","mandant":16570,"customerNumber":54037,"imageServiceConfig":{"customLogo":true},"loginServiceConfig":{"ssoType":"none","samlProviderLabel":"","idpName":"","loginError":"","lastUserName":"","lastMandantName":"FTS-Villingen-Schwenningen","anonymousMode":true,"userRegistrationEnabled":false,"user":{"name":"anonym","id":-1,"departmentId":0,"roleId":0,"userGroupId":0,"personId":-1,"persons":[{"id":-1,"type":0,"displayName":"","longName":"","foreName":""}],"email":""},"ssoOffice365":false,"adminEmail":null,"hideWuLogin":false,"oidcProviderLabel":null,"ssoOidc":false},"staticResourcesUrl":"https://content.webuntis.com/WebUntis/static/2022.3.1","calendarServiceConfig":{"today":null,"currentDate":"2021-10-31","currentSchoolyearId":12,"schoolyears":[{"finalMarkActive":true,"semesters":[],"startDate":"2016-09-12","schoolyearId":6,"endDate":"2017-07-26","name":"2016/2017","id":6},{"finalMarkActive":true,"semesters":[],"startDate":"2017-09-11","schoolyearId":8,"endDate":"2018-07-25","name":"2017/2018","id":8},{"finalMarkActive":true,"semesters":[],"startDate":"2018-09-10","schoolyearId":9,"endDate":"2019-07-26","name":"2018/2019","id":9},{"finalMarkActive":true,"semesters":[],"startDate":"2019-09-11","schoolyearId":10,"endDate":"2020-07-29","name":"2019/2020","id":10},{"finalMarkActive":true,"semesters":[],"startDate":"2020-09-14","schoolyearId":11,"endDate":"2021-07-28","name":"2020/2021","id":11},{"finalMarkActive":true,"semesters":[],"startDate":"2021-09-13","schoolyearId":12,"endDate":"2022-07-27","name":"2021/2022","id":12}],"holidays":[{"bookingAllowed":false,"startDate":"2021-11-01","endDate":"2021-11-07","longName":"Herbstferien","name":"Herbst"},{"bookingAllowed":false,"startDate":"2021-12-25","endDate":"2022-01-09","longName":"Weihnachtsferien","name":"Weihnachten3"},{"bookingAllowed":false,"startDate":"2022-02-25","endDate":"2022-03-02","longName":"Fasnetsferien","name":"Fasnet"},{"bookingAllowed":false,"startDate":"2022-04-11","endDate":"2022-04-24","longName":"Osterferien","name":"Ostern"},{"bookingAllowed":false,"startDate":"2022-06-06","endDate":"2022-06-19","longName":"Pfingstferien","name":"Pfingsten"},{"bookingAllowed":false,"startDate":"2021-10-03","endDate":"2021-10-03","longName":"3.10.2021","name":"TDDE"},{"bookingAllowed":false,"startDate":"2021-12-23","endDate":"2021-12-23","longName":"Weihnachtsferien","name":"Weihnachten1"},{"bookingAllowed":false,"startDate":"2021-12-24","endDate":"2021-12-24","longName":"Weihnachtsferien","name":"Weihnachten2"},{"bookingAllowed":false,"startDate":"2022-05-26","endDate":"2022-05-26","longName":"Christi Himmelfahrt","name":"26.5."}],"showWeekNumbers":true,"weekendDays":[0],"firstDayOfWeek":1,"minNumberOfDaysInFirstWeek":4},"serviceDescriptors":{"jsonBookingService":{"url":"jsonBookingService","methods":["changeBookingDate","getBookableRooms","isValidBookingId"]},"jsonStudentLessonMatrixService":{"url":"jsonStudentLessonMatrixService","methods":["getFilter","load","save"]},"jsonStudentgroupService":{"url":"jsonStudentgroupService","methods":["getStudentLessonPeriodMatrix","submitStudentLessonPeriodData"]},"jsonTeacherService":{"url":"jsonTeacherService","methods":["getEmailAddressesOfTeachers","updateTeacherVarQuota","updateTeacherVarStatus","getAllTeacherStatuses"]},"jsonLessonTopicService":{"url":"jsonLessonTopicService","methods":["renumberLessonTopics"]},"jsonUserProfileService":{"url":"jsonUserProfileService","methods":["activateTotp","getTotpKey","setNewAdminDetails","deactivateTotp","getPasswordRules","generateTotpKey","isTotpEnabled"]},"jsonHomeworkService":{"url":"jsonHomeworkService","methods":["save","deleteHomework"]},"jsonStudentDutyService":{"url":"jsonStudentDutyService","methods":[]},"jsonAddressService":{"url":"jsonAddressService","methods":["getMobileNumberAvailability","readFor","save","deleteAddress"]},"jsonKlasseService":{"url":"jsonKlasseService","methods":["getUserIdsOfKlassen","getStudentIdsOfKlassen","getTeacherIdsOfKlassen","getPersonIdsOfKlassen"]}},"publicAppAccessAllowed":false,"appCredentials":{"url":"arche.webuntis.com","school":"FTS-Villingen-Schwenningen","user":"#anonymous#","key":null,"qrText":"untis://setschool?url=arche.webuntis.com&school=FTS-Villingen-Schwenningen&user=#anonymous#&schoolNumber=5403700","schoolNumber":5403700},"appColors":[{"id":1,"labelKey":"LBL_FREE_HOUR","backColor":"#eceded"},{"id":2,"labelKey":"IDC_LESSON","backColor":"#f49f25"},{"id":3,"labelKey":"LBL_NOT_CONFIRMED","backColor":"#d7dd7a"},{"id":4,"labelKey":"LBL_ACTIVITY","backColor":"#b0bc00"},{"id":5,"labelKey":"LBL_STORNO_BK","backColor":"#f3c480"},{"id":6,"labelKey":"LBL_HOUR_NOT_ALLOWED","backColor":"#b1b3b4"},{"id":7,"labelKey":"LBL_HOLIDAY_BK","backColor":"#53aedd"},{"id":8,"labelKey":"LBL_HOLIDAY_NO_BK","backColor":"#a2d8f4"},{"id":9,"labelKey":"HDR_CONFLICT_LIST","backColor":"#e53527"},{"id":10,"labelKey":"LBL_SUBSTITUTION","backColor":"#a781b5"},{"id":11,"labelKey":"LBL_CANCELLED","backColor":"#b1b3b4"},{"id":12,"labelKey":"LBL_WITHOUT_ELEM","backColor":"#b1b3b4"},{"id":13,"labelKey":"LBL_ELEM_CHANGED","backColor":"#a781b5"},{"id":14,"labelKey":"LBL_SHIFT","backColor":"#a781b5"},{"id":15,"labelKey":"LBL_SPECIALDUTY","backColor":"#a781b5"},{"id":16,"labelKey":"LBL_EXAM","backColor":"#ffed00"},{"id":17,"labelKey":"IDC_BREAKSUPERVISION","backColor":"#ea6ea3"},{"id":18,"labelKey":"IDC_STANDBY","backColor":"#f49f25"},{"id":19,"labelKey":"IDC_OFFICEHOUR","backColor":"#f49f25"},{"id":20,"labelKey":"LBL_ABSENCE","backColor":"#e53527"},{"id":21,"labelKey":"LBL_WORKTIME","backColor":"#a4fa9e"}],"forceAdminDetailsChange":false,"timetableConfig":{"weeklyElementTypes":[]},"contentUrl":null,"kioskMode":false,"departmentServiceConfig":{"globalDepartmentFilterEnabled":false,"globalDepartmentId":0,"departments":[]},"messageServiceConfig":{"unreadCount":0,"messageCenterNewView":false,"can":{"readMessage":null,"sendMessage":null,"createDistributionList":null}},"menuConfig":[{"children":[],"lbl":"LBL_TODAY","action":{"args":["main"],"cmd":"loadContent"},"id":10,"group":0},{"children":[],"lbl":"IDM_TT_TIMETABLE","id":1,"group":0}],"userServiceConfig":{"roles":[],"searchAllowed":false,"mustSetupGoogleAuthenticator":false,"googleAuthenticatorSetupLoginRetries":0,"isGoogleAuthenticatorSet":false,"locale":"de"},"timetablingConfig":null,"inputAssistantConfig":{"active":false,"stepTimetablingCompleted":true},"canEditMessageOfDay":false,"ttSidebarMinimized":false,"isBackupWarningEnabled":false,"messengerAppData":null,"messengerFeedbackUrl":null,"messengerAdsEnabled":true,"messengerAdsUrl":"https://messenger.untis.at","sessionTimeout":3600,"testSchedule":false,"navItems":["TODAY"],"embedNewUI":false,"schoolAdminHasMessengerButton":true,"schoolHasMessengerModule":true,"hasOneDrive":false,"oneDriveClientId":"d4acf9ca-5400-48f0-96db-e356769fa9fb","hasMessenger":false,"isMessengerWebSocketDisabled":false,"isIgnoreMessengerEmergencyStoppedForMobileAuth":true,"isMessengerManualActivationRequired":false,"isMessengerEmergencyStopped":false,"hasMessengerBeenActivated":true,"canOfferMessengerTrial":false,"hasStartedMessengerTrial":true,"messengerTrialDaysLeft":0,"isAdmin":false,"isDirectorate":false,"isStaff":false,"isTeacher":false,"isWUSSO":false,"schoolQueryUrl":"https://webuntis.com","isPlayground":false,"isIntegrationsDisabledMessage":null,"runningPollingJobs":[],"pollingConfig":[{"pollingType":"REPORT","pollingInterval":5000}],"playgrounds":[],"imprintUrl":"https://www.untis.at/HTML/impressum.php","hasPrivacyPolicy":false,"csrfHeader":"X-CSRF-TOKEN","csrfToken":"46ae1889-694c-4d99-a881-fd63e9ebfe7b","ui2020":true,"isUI2020ActiveForCurrentUser":false,"isNewStudentNavigationActive":true,"isMessageWeb2021FeatureFlagEnabled":true,"isLegalGuardianMasterDataFlagEnabled":false},
        };
        // R�ckw�rtskompatibilit�t
        window.dojoConfig = {grupet: untis.config};
    </script>
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/moment/moment.min.js"></script>


    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/moment/locale/de.js"></script>
    <script type="text/javascript">moment.locale("de");</script>


    
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/webpack.js"></script>

    
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/react.js"></script>
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/ramda.js"></script>
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/rx.js"></script>
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/ag-grid.js"></script>
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/draft-js.js"></script>
    <script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/immutable.js"></script>




    

    <script type="text/javascript">
        // IE 9 console patch
        var method;
        var noop = function () {};
        var methods = [
            'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
            'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
            'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
            'timeStamp', 'trace', 'warn'
        ];
        var length = methods.length;
        var console = (window.console = window.console || {});

        while (length--) {
            method = methods[length];

            // Only stub undefined methods.
            if (!console[method]) {
                console[method] = noop;
            }
        }

        // IE 10 Fix
        if (window.navigator.language === undefined) {
            window.navigator.language = window.navigator.userLanguage;
        }
    </script>

    <link rel="shortcut icon" type="image/x-icon" href="https://content.webuntis.com/WebUntis/static/2022.3.1/Images/favicon.ico">
    <link rel="stylesheet" type="text/css" href="https://content.webuntis.com/WebUntis/static/2022.3.1/Styles/icons.css">
    <link rel="stylesheet" href="/WebUntis/appColor/viewColors.css">

    
    <link rel="stylesheet" type="text/css" href="https://content.webuntis.com/WebUntis/static/2022.3.1/Styles/font-awesome.css">
    <style type="text/css">
        @font-face {
            font-family: "Noto Sans";
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/NotoSans-Regular.ttf) format("truetype");
        }
        @font-face {
            font-family: "Space Grotesk";
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/SpaceGrotesk-Regular.ttf) format("truetype");
        }
        @font-face {
            font-family: "UNIcons";
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/UNIcons.woff) format("woff");
        }
        @font-face {
            font-family: 'AvenirNextW05';
            font-weight: 400;
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Regular.eot?#iefix);
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Regular.eot?#iefix) format('eot'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Regular.woff2) format('woff2'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Regular.woff) format('woff'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Regular.ttf) format('truetype');
        }
        @font-face {
            font-family: 'AvenirNextW05';
            font-weight: 600;
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Demi.eot?#iefix);
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Demi.eot?#iefix) format('eot'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Demi.woff2) format('woff2'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Demi.woff) format('woff'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Demi.ttf) format('truetype');
        }

        @font-face {
            font-family: 'AvenirNextW05';
            font-weight: 700;
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Bold.eot?#iefix);
            src: url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Bold.eot?#iefix) format('eot'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Bold.woff2) format('woff2'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Bold.woff) format('woff'), url(https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/fonts/AvenirNextW05-Bold.ttf) format('truetype');
        }
    </style>
    <link rel="stylesheet" type="text/css" href="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/styles/main.css">
</head>
<body class="untis-bootstrap">
<!--[if lt IE 9]>
<div style="background: yellow; padding: 5px;">
    
        
            <a href="https://content.webuntis.com/WebUntis/static/2022.3.1/html/browser-not-supported-de.html" style="text-decoration: none; color: black;">
                Ihr Browser wird von WebUntis eventuell nicht unterst�tzt - klicken Sie hier f�r weitere Informationen!
            </a>
        
        
    
</div>
<![endif]-->

    


<script src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/socket.io-2.1.1.js"></script>

<div id="app">
    WebUntis wird geladen ...
</div>


<script>
    untis.messages = {};
    function define(nameOrMessages, messages) {
        if (typeof nameOrMessages === "object") {
            messages = nameOrMessages;
        }
        // Object.assign polyfill wird erst sp�ter geladen. Daher werden die Messages hier direkt eingemischt.
        for (var p in messages) {
            untis.messages[p] = messages[p];
        }
    }
</script>
<script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/grupet/nls/de/messages.js"></script>


<script type="text/javascript" src="https://content.webuntis.com/WebUntis/static/2022.3.1/js/untis/main.js"></script>
</body>
</html>

Re: webuntis api probleme mi

Verfasst: Sonntag 31. Oktober 2021, 15:35
von sparrow
In Zeile 13 versuchst du dich einzuloggen. Das Modul, das du verwendest macht einen Request zu einem Webserver und erwartet als result ein JSON content. Es kommt aber keines oder ungültigen JSON. Mehr kann man aus der Fehlermeldung nicht herauslesen.

Re: webuntis api probleme mi

Verfasst: Sonntag 31. Oktober 2021, 16:34
von Kopaker
sparrow hat geschrieben: Sonntag 31. Oktober 2021, 15:35 In Zeile 13 versuchst du dich einzuloggen. Das Modul, das du verwendest macht einen Request zu einem Webserver und erwartet als result ein JSON content. Es kommt aber keines oder ungültigen JSON. Mehr kann man aus der Fehlermeldung nicht herauslesen.
Ok danke für die Hilfe :)