/SchoolLoop_Client

Pulls data from a School Loop portal

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

School Loop Client

Pulls data from a School Loop portal

Features

Simple login and logout methods and easy to use data.

public static void main(String[] args) {
    // Create a new client instance with your school's domain
    SClient client = new SClient("yourschool.schoolloop.com");

    // Log in
    boolean loginSuccess = client.login("username", "password");

    // Get the session cookie
    String session = client.getCookie();

    // Set a previous session cookie and check if it is still valid
    client.setCookie(session);
    boolean isSessionValid = client.isCookieValid();

    // Load the portal
    boolean loadSuccess = client.loadPortal();

    // Parse the academic data from the portal
    client.parseAcademics();

    // Get the parsed academic data
    ArrayList<Section> academicData = client.getAcademicData();

    String className = academicData.get(0).getName();
    String gradePercent = academicData.get(0).getGradePercent();

    // Invalidate the current session
    client.logout();
}

View SClientTester.java for a more complete example.

Current Feature Set (WIP)

Academics
  • Period
  • Course Name
  • Teacher
  • Is Published
  • Grade Letter
  • Grade Percent
  • Number of Zeros
  • Progress Report
  • Weight Scale
Calendar
  • Day
  • Date
  • Assignments

Dependencies

Jsoup, OKHttp, Okio, Apache HttpComponents