{"id":25097657,"url":"https://github.com/cthacker-udel/java-canvas-lms-api","last_synced_at":"2026-05-01T02:32:13.843Z","repository":{"id":103060038,"uuid":"358816036","full_name":"cthacker-udel/Java-Canvas-LMS-API","owner":"cthacker-udel","description":"Canvas LMS API Java Wrapper - cthacker-udel","archived":false,"fork":false,"pushed_at":"2021-10-09T10:57:59.000Z","size":2506,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T12:36:37.492Z","etag":null,"topics":["api","gson","java","retrofit2","selenium","selenium-webdriver"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cthacker-udel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-17T07:39:24.000Z","updated_at":"2021-12-20T07:31:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"84f703e5-94f1-4333-9f2a-8cb1eb592cfc","html_url":"https://github.com/cthacker-udel/Java-Canvas-LMS-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cthacker-udel/Java-Canvas-LMS-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cthacker-udel%2FJava-Canvas-LMS-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cthacker-udel%2FJava-Canvas-LMS-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cthacker-udel%2FJava-Canvas-LMS-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cthacker-udel%2FJava-Canvas-LMS-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cthacker-udel","download_url":"https://codeload.github.com/cthacker-udel/Java-Canvas-LMS-API/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cthacker-udel%2FJava-Canvas-LMS-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32483406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","gson","java","retrofit2","selenium","selenium-webdriver"],"created_at":"2025-02-07T17:33:53.077Z","updated_at":"2026-05-01T02:32:13.809Z","avatar_url":"https://github.com/cthacker-udel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Java Canvas-LMS API\n\u003e Author : Cameron Thacker (University of Delaware)\n\n![dependencies](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen)\n![Retrofit](https://img.shields.io/badge/retrofit-2.7.2-green)\n![Gson](https://img.shields.io/badge/gson-2.9.0-green)\n![Selenium](https://img.shields.io/badge/selenium-4.0.0-green)\n![WebdriverManager](https://img.shields.io/badge/WebdriverManager-3.7.1-green)\n\n#### Description :\nThis project includes brief implementation of the Canvas-LMS(Learning Management System) API using Java. The dependencies utilized are Retrofit, Gson, Selenium, and Webdriver Manager(Selenium and Webdriver Manager are mainly used for the Oauth2 methods)\n\n##### Project Structure :\n- All the Json response payloads are structured to be converted into Pojo(Plain old java object), in the [Controller](https://github.com/cthacker-udel/Java-Canvas-LMS-API/tree/master/src/main/java/Controller) folder.\n- The [Model](https://github.com/cthacker-udel/Java-Canvas-LMS-API/tree/master/src/main/java/Model) folder contains all the main Rest API requests, the functions that make the initial request to receive the response.\n- The [getRequests](https://github.com/cthacker-udel/Java-Canvas-LMS-API/tree/master/src/main/java/getRequests) folder contains all the extensions of the [CanvasClient](https://github.com/cthacker-udel/Java-Canvas-LMS-API/blob/master/src/main/java/Client/CanvasClient.java) class that adds more of a structured implementation, each class in the [getRequests](https://github.com/cthacker-udel/Java-Canvas-LMS-API/tree/master/src/main/java/getRequests) folder represents an implementation of each API(Admin API, Accounts API, for example)\n- The [Client](https://github.com/cthacker-udel/Java-Canvas-LMS-API/blob/master/src/main/java/Client/CanvasClient.java) folder contains the most crucial implementation, the [CanvasClient](https://github.com/cthacker-udel/Java-Canvas-LMS-API/blob/master/src/main/java/Client/CanvasClient.java) class that ties together all the other classes to implement multiple apis from one source. The [CanvasRestAPI](https://github.com/cthacker-udel/Java-Canvas-LMS-API/blob/master/src/main/java/Client/CanvasRestAPI.java) class that contains all the methods to implement the requests, forms the proper requests and makes the request, collects the converted response, and returns the object in the method.\n\n\n### Implementation\n\n- Oauth2 Methods\n- Account Domain API\n- Account Notifications API\n- Account Reports API\n- Accounts API\n- Admins API\n- Analytics API\n- Account External Feeds API\n\n### TODO:\n\n- Implement [Create appointment group](https://canvas.instructure.com/doc/api/appointment_groups.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcthacker-udel%2Fjava-canvas-lms-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcthacker-udel%2Fjava-canvas-lms-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcthacker-udel%2Fjava-canvas-lms-api/lists"}