Skip to main content

Python библиотека для использования API: МЭШ / Моя Школа.

Project description

OctoDiary
OctoDiary
Telegram-Канал

OctoDiary-py

Неофициальная Python библиотека для использования API: МЭШ / Моя Школа.


external-install-basic-ui-elements-2.3-sbts2018-outline-color-sbts2018 Установка

Установка через GitHub:

pip3 install https://github.com/OctoDiary/OctoDiary-py/archive/main.zip --upgrade

Стабильная версия от PyPi:

pip3 install octodiary

Для Windows: pip3 > pip


python Использование


myschool Моя Школа

Async

from octodiary.asyncApi.myschool import WebAsyncApi
from asyncio import run

async def main():
    token = "<YOUR_API_TOKEN>"
    api = WebAsyncApi(token=token)

    # получить информацию о пользователе
    user_info = await api.get_user_info()

    # обновить токен
    api.token = await api.refresh_token()

    # получить системные сообщения за текущий день
    system_messages = await api.get_system_messages()

    # получить информацию о сессии и пользователе
    session_info = await api.get_session_info()

    # получить учебные года (2022-2023 / 2023-2024)
    academic_years = await api.get_academic_years()
    
    # получить информацию о каком-либо пользователе
    # (оставьте пустым для получения информации об владельце токена)
    owner_user = await api.get_user()
    other_user = await api.get_user("<USER-ID>")

    # получить информацию об одном или нескольких профилях студента (ученика)
    # (оставьте пустым для получения информации о текущем учебном году)
    student_profiles_current_academic_year = await api.get_student_profiles()
    ID = 0 # валидный ID
    student_profiles = await api.get_student_profiles(academic_year_id=ID)

    # получить информацию о web-профиле
    # содержит подробную  информацию, включая личные данные
    web_profile = await api.get_family_web_profile()

    # получить фулл о пользователе (дада, методов много, но каждый дает свое)
    person_data = await api.get_person_data("PERSON-ID")

    # получить список событий пользователя по параметрам
    from datetime import date

    events = await api.get_events(
        person_id="<PERSON-ID>", # person-id ученика
        mes_role="<role>", # роль пользователя (если родитель - parent)
        begin_date=date(2023, 9, 4), # дата начала
        end_date=date(2023, 9, 10), # дата конца (если не указана - текущий день)
    )

    # получить информацию о всех детях пользователя по параметрам
    # если API TOKEN аккаунта ученика, работать не будет
    childrens = await api.get_childrens(
        sso_id="<SSO-ID>", # sso-id
    )

    # получить информацию о контактах пользователя (email, phone, ...)
    contacts = await api.get_user_contacts()

    # получить информацию об организации
    ID = 0 # валидный ID организации, именно organization_id
    organization = await api.get_organizations(ID)

run(main())

Sync

from octodiary.syncApi.myschool import WebSyncApi

token = "<YOUR_API_TOKEN>"
api = WebSyncApi(token=token)

# получить информацию о пользователе
user_info = api.get_user_info()

# обновить токен
api.token = api.refresh_token()

# получить системные сообщения за текущий день
system_messages = api.get_system_messages()

# получить информацию о сессии и пользователе
session_info = api.get_session_info()

# получить учебные года (2022-2023 / 2023-2024)
academic_years = api.get_academic_years()

# получить информацию о каком-либо пользователе
# (оставьте пустым для получения информации об владельце токена)
owner_user = api.get_user()
other_user = api.get_user("<USER-ID>")

# получить информацию об одном или нескольких профилях студента (ученика)
# (оставьте пустым для получения информации о текущем учебном году)
student_profiles_current_academic_year = api.get_student_profiles()
ID = 0 # валидный ID
student_profiles = api.get_student_profiles(academic_year_id=ID)

# получить информацию о web-профиле
# содержит подробную  информацию, включая личные данные
web_profile = api.get_family_web_profile()

# получить фулл о пользователе (дада, методов много, но каждый дает свое)
person_data = api.get_person_data("PERSON-ID")

# получить список событий пользователя по параметрам
from datetime import date

events = api.get_events(
    person_id="<PERSON-ID>", # person-id ученика
    mes_role="<role>", # роль пользователя (если родитель - parent)
    begin_date=date(2023, 9, 4), # дата начала
    end_date=date(2023, 9, 10), # дата конца (если не указана - текущий день)
)

# получить информацию о всех детях пользователя по параметрам
# если API TOKEN аккаунта ученика, работать не будет
childrens = api.get_childrens(
    sso_id="<SSO-ID>", # sso-id
)

# получить информацию о контактах пользователя (email, phone, ...)
contacts = api.get_user_contacts()

# получить информацию об организации
ID = 0 # валидный ID организации, именно organization_id
organization = api.get_organizations(ID)

mesh МЭШ

Скоро...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octodiary-0.1.0.tar.gz (20.1 kB view details)

Uploaded Source

File details

Details for the file octodiary-0.1.0.tar.gz.

File metadata

  • Download URL: octodiary-0.1.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for octodiary-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9806fb6f365f544117e6bdc6863c34fd7c39957ecc482beff60bf969259b22dd
MD5 0037f8d6165c8ec50275c63d754ca7ff
BLAKE2b-256 924107e684f02825b001a3d24fb99c4acfcc6721d39800e647403faa2dd35063

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page