PHPackages                             cba85/google-classroom-cli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. cba85/google-classroom-cli

ActiveLibrary[CLI &amp; Console](/categories/cli)

cba85/google-classroom-cli
==========================

A PHP CLI to use Google Classroom API.

1.0.0(5y ago)2252MITPHP

Since Feb 16Pushed 5y ago1 watchersCompare

[ Source](https://github.com/cba85/google-classroom-cli)[ Packagist](https://packagist.org/packages/cba85/google-classroom-cli)[ Docs](https://github.com/cba85/google-classroom-cli)[ RSS](/packages/cba85-google-classroom-cli/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Google Classroom
================

[](#google-classroom)

A CLI to use Google Classroom API.

Fetches courses, students, assignments and student-submitted URLs from Google Classroom.

Why?
----

[](#why)

I want to use Google Classroom to manage my classes (students and assignments). I'd like to fetch URLs (containing Github repositories) submitted by the students for each assignments to automatically retrieve their projet.

That's why this projet only uses Google Classroom read-only API permissions and just some ressources of the API useful for myself are available.

Requirements
------------

[](#requirements)

### Composer

[](#composer)

Make sure [Composer](https://getcomposer.org/download/) is installed globally.

Install
-------

[](#install)

```
$ composer global require cba85/google-classroom-cli
```

Then make sure you have the global Composer binaries directory in your PATH.

This directory is platform-dependent, see [Composer documentation](https://getcomposer.org/doc/03-cli.md#composer-home) for details.

### Update

[](#update)

```
$ composer global update cba85/google-classroom-cli
```

### Google Classroom API setup

[](#google-classroom-api-setup)

1. [Create an app and web client auth on Google Developer Console](https://developers.google.com/classroom/quickstart/php)
2. Download the `credentials.json` file and move it to the `auth/` folder of the application.

> If you use the application as a global command, move the `credentials.json` file to `~/.composer/vendor/cba85/google-classroom-cli/auth/` folder.

3. First time you launch the application, you'll have to grant access of your Google application using Google OAuth2 server to retrieve an access token. Then, enter the verification code into the CLI prompt. Your access token will be saved in `auth/token.json` file.

Usage
-----

[](#usage)

```
$ gclass list-courses
$ gclass list-students courseId
$ gclass list-assignments courseId
$ gclass list-submissions courseId assignmentId
$ gclass list-submitted-urls courseId assignmentId
```

Notes
-----

[](#notes)

- `list-submitted-urls` command will list all the urls submitted by the students if the "course work" type is "assignment". If the "course work" type is a "short answer question", it will retrieve the answer and expect it to be an url.

Dependencies
------------

[](#dependencies)

- [Symfony console](https://symfony.com/doc/current/components/console.html)
- [Google Classroom API](https://github.com/googleapis/google-api-php-client)

Documentation
-------------

[](#documentation)

-
-
-

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1963d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6f8dae5dac31d448b3ae83800c9c084dd576e2c5ef16b6313710048b2904c5db?d=identicon)[cba85](/maintainers/cba85)

---

Top Contributors

[![cba85](https://avatars.githubusercontent.com/u/720547?v=4)](https://github.com/cba85 "cba85 (12 commits)")

---

Tags

cligoogle-classroomphpsymfony-console

### Embed Badge

![Health badge](/badges/cba85-google-classroom-cli/health.svg)

```
[![Health](https://phpackages.com/badges/cba85-google-classroom-cli/health.svg)](https://phpackages.com/packages/cba85-google-classroom-cli)
```

###  Alternatives

[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

85036.3k](/packages/flow-php-flow)[chameleon-system/chameleon-base

The Chameleon System core.

1028.6k5](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
