Skip to content

开发者

Vizards edited this page Mar 5, 2019 · 5 revisions

UESTC-API 现开始尝试提供开发者 API,以期改善 API 的扩展性,吸引更多开发者使用 UESTC-API 创造更多富有吸引力的新功能。

  1. 开发者可以通过 API 获取到基础性的数据(如网站 cookies 等),不再局限于 UESTC-API 设计的账户系统
  2. 开发者无需为登录、单点登录验证、联合统一认证等编写大量的代码,省出时间专注于业务代码的编写
  3. 由于学校登录系统变动频繁,仅凭个人无力维持 API 的高可用性。如果您对此项目有兴趣,欢迎参与维护

🎉 通过开发者 API,您可以编写插件式的功能代码。如果您使用 UESTC-API 创作了任何新的功能或接口,Please let us know

⚠️ 由于开发者 API 涉及登录等频繁变动的模块,如果您在使用过程中发现问题,请及时上报

特别声明:UESTC-API 开发者不应当使用此功能收集用户的任何隐私信息

开发者使用此扩展功能编写软件引发的任何纠纷或法律问题,与本项目和本项目的维护者无关

获取教务系统网站 Cookies

通过学号/录取通知书号、密码登录,返回用户的教务系统 Cookies

您可以使用此 Cookies 请求 eams.uestc.edu.cn 域下的任何页面

Url

POST /api/dev/idas

Header

参数 类型 必需 描述 示例
Content-Type string application/json application/json
Accept string application/json application/json

Body

参数 类型 必需 描述
username string 学号/录取通知书号
password string 密码,不少于 6 个字符
{
    "username": "YOUR_STUDENT_NO",
    "password": "YOUR_PASSWORD"
}

Response

status: 200 OK
{
    "code": 201,
    "data": {
        "semester.id": "183",
        "route": "c646ae0d08c9ace4c3keae3b5b7928b7",
        "JSESSIONID": "FEAB5DC208DE3A5CFD882D84D6I8F734; Path=/eams/; HttpOnly",
        "CASTGC": "TGT-113623-Z7Pt3zqdw6YsMG2OeptQGSBcnImBXIwIaULQoCaV3ia5u0Z5Qs1551555663574-zpfH-cas;Path=/authserver/;HttpOnly;Max-Age=604800;Expires=Sat,9 Mar 2019 19:41:00 GMT;",
        "CASPRIVACY": "; expires=Thu, 01-Jan-1970 01:00:00 GMT; path=/authserver/",
        "iPlanetDirectoryPro": "Tcit4V0X9tqJVYxMYaZliU; domain=.uestc.edu.cn; path=/",
        "sto-id-20480": "JSKEMANOUCBP; Expires=Tue, 27-Feb-2029 19:41:43 GMT; Path=/"
    },
    "time": "2019-03-02T19:42:23Z",
    "msg": "Post Success"
}

以上数据经过脱敏处理,您无法使用上述 cookies 直接请求教务系统,请使用自己的账户信息进行测试

Note

  1. 教务系统没有提供明确的 cookies 过期时间,目前过期机制尚不清楚,建议您在代码逻辑中处理 cookies 更新机制

  2. 默认返回模拟登录过程中获取的所有 cookies,因此上述 cookies 仅为示例,随着教务系统的频繁更新,数据可能会发生变化

  3. 教务系统的特殊机制:目前发现在访问某些网页时,如果带上所有 cookies,教务系统可能返回错误,并且这个机制会频繁变化。开发者需要通过 Chrome devtools 或 Charles 等网络工具自行分析,或 New issue 讨论

获取一卡通网站 Cookies

通过学号/录取通知书号、密码登录,返回用户的一卡通网站 Cookies

您可以使用此 Cookies 请求 ecard.uestc.edu.cn 域下的任何页面

Url

POST /api/dev/ecard

Header

参数 类型 必需 描述 示例
Content-Type string application/json application/json
Accept string application/json application/json

Body

参数 类型 必需 描述
username string 学号/录取通知书号
password string 密码,不少于 6 个字符
{
    "username": "YOUR_STUDENT_NO",
    "password": "YOUR_PASSWORD"
}

Response

status: 200 OK
{
    "code": 201,
    "data": {
        "JSESSIONID": "78C3DF62025265DC5D2DAB041F02E7D5; Path=/; HttpOnly",
        "COOKIE_SUPPORT": "true; Expires=Wed, 14-Oct-2065 22:35:38 GMT; Path=/; HttpOnly",
        "iPlanetDirectoryPro": "7j2pa5g7bJxPfc2O7wKQjR; domain=.uestc.edu.cn; path=/"
    },
    "time": "2019-03-02T19:42:23Z",
    "msg": "Post Success"
}

以上数据经过脱敏处理,您无法使用上述 cookies 直接请求一卡通网站,请使用自己的账户信息进行测试

Note

  1. 一卡通网站的 Cookies 过期时间待详细测试,目前不清楚

  2. 一卡通网站页面返回经测试发现不够稳定,请开发者做好此 API 的错误处理

获取宿舍电费信息

参考 电费 进行请求

宿舍电费信息接口无需鉴权,默认返回后方接口返回的所有数据

获取校历数据

参考 校历 进行请求