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 1w 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 43% 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

1917d 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

[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[crazywhalecc/static-php-cli

Build single static PHP binary, with PHP project together, with popular extensions included.

1.8k13.9k](/packages/crazywhalecc-static-php-cli)[matthiasnoback/symfony-console-form

Use Symfony forms for Console command input

368264.8k8](/packages/matthiasnoback-symfony-console-form)[madewithlove/license-checker

CLI tool to verify allowed licenses for composer dependencies

54449.8k21](/packages/madewithlove-license-checker)[shel/neos-terminal

Neos CMS Ui terminal for running Eel expressions and other commands

1441.3k](/packages/shel-neos-terminal)

PHPackages © 2026

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