{"id":21542886,"url":"https://github.com/horacehylee/gcalendar-cli","last_synced_at":"2025-10-04T10:35:50.145Z","repository":{"id":41786932,"uuid":"115501308","full_name":"horacehylee/gcalendar-cli","owner":"horacehylee","description":"Google Calendar cli tool for Node.js","archived":false,"fork":false,"pushed_at":"2022-12-07T04:10:51.000Z","size":987,"stargazers_count":7,"open_issues_count":8,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T05:51:52.045Z","etag":null,"topics":["cli","command-line","command-line-tools","gcalendar-cli","google-calendar-cli","insert-event","natural-language","nodejs"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/horacehylee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-27T08:49:58.000Z","updated_at":"2023-05-20T02:59:34.000Z","dependencies_parsed_at":"2023-01-24T13:16:27.382Z","dependency_job_id":null,"html_url":"https://github.com/horacehylee/gcalendar-cli","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horacehylee%2Fgcalendar-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horacehylee%2Fgcalendar-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horacehylee%2Fgcalendar-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/horacehylee%2Fgcalendar-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/horacehylee","download_url":"https://codeload.github.com/horacehylee/gcalendar-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247780365,"owners_count":20994705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","command-line","command-line-tools","gcalendar-cli","google-calendar-cli","insert-event","natural-language","nodejs"],"created_at":"2024-11-24T05:11:56.079Z","updated_at":"2025-10-04T10:35:45.108Z","avatar_url":"https://github.com/horacehylee.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gcalendar-cli\n\n\u003e Google Calendar cli tool for Node.js\n\n[![npm version](https://badge.fury.io/js/gcalendar-cli.svg)](https://badge.fury.io/js/gcalendar-cli)\n[![CircleCI](https://circleci.com/gh/horacehylee/gcalendar-cli.svg?style=svg)](https://circleci.com/gh/horacehylee/gcalendar-cli)\n[![Coverage Status](https://coveralls.io/repos/github/horacehylee/gcalendar-cli/badge.svg?branch=master)](https://coveralls.io/github/horacehylee/gcalendar-cli?branch=master)\n\n## Installation\n\nInstall it as a global module\n```\nnpm install -g gcalendar-cli\n```\n\n## Authentication\n\nAuthorization and authentication is done with OAuth 2.0. \n\n### 1) Get your project credentials\n\nYou will need a file with your credentials: `client ID`, `client secret` and `redirect URI`. This can be obtained in the [Developer Console](https://console.developer.google.com):\n\n- Select or create a project\n- Click in `Credentials`\n- Click `Create credentials` → `OAuth client ID` ( `Application type` must be `Other` )\n- Download the JSON file and save as `client_secret.json` in `C:\\Users\\\u003cYOUR_USER_NAME\u003e` directory\n\n\n### 2) Get token\n\n```\ngcal setup\n```\n\nLogin with your Google account and approve the permissions.\n\nCopy the token back to the terminal.\n\nYou should see `✔️ You are ready to go!`\n\nExample:\n\n```\nAuthorize this app by visiting this url:\nhttps://accounts.google.com/o/oauth2/auth?access_type=offline\u0026scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly\u0026response_type=code\u0026client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\u0026redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob\n? Enter the code from that page here: x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n✔️ You are ready to go!\n```\n\n## Usage\n\n### List Events\n\n```\ngcal list\n\nList google calendar events\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --help       Show help                                               [boolean]\n  --table, -t  Display events in table                                 [boolean]\n  --days, -d   Number of days for events                                [number]\n  --range, -r  Date range of events in natural language                 [string]\n```\n\n#### List events using natural language (powered by [Sherlock](https://github.com/neilgupta/Sherlock)):\n```\ngcal ls -r \"tomorrow\"\n```\n```\ngcal ls -r \"from 25 Dec to 27 Dec\"\n```\n\n#### List events with 3 days from now\n```\ngcal ls -d 3\n```\n\n#### List events only for today\n```\ngcal ls -d 0\n```\n\n### Insert Event\n\n```\ngcal insert \u003cinfo\u003e\n\nInsert event into google calendar\n\nOptions:\n  --version       Show version number                                  [boolean]\n  --help          Show help                                            [boolean]\n  --duration, -d  Duration of the event                                 [number]\n  --calendar, -c  Calendar for event to insert                          [string]\n```\n\n#### Insert events using natural language:\n\nAll day event: \n\n```\ngcal insert \"Party tomorrow\"\n```\n\n```\ngcal insert \"Vacation from 23 Dec to 25 Dec\"\n```\n\nTimed event:\n\n```\ngcal insert \"Party tomorrow from 2pm to 7pm\"\n```\n\n#### Insert events with duration:\n\nParty tomrrow from 2pm to 7pm (5 Hours):\n\n```\ngcal insert \"Party tomorrow from 2pm\" -d 5\n```\n\nMovie from 3pm to 4:30pm (1.5 Hours):\n\n```\ngcal insert \"Movie from 3pm\" -d 1.5\n```\n\n## Inspriation\n\n- [gcal-cli](https://github.com/toniov/gcal-cli) - Google Calendar command line tool for Node.js\n\n## License\n\nMIT © [Horace Lee](https://github.com/horacehylee)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoracehylee%2Fgcalendar-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoracehylee%2Fgcalendar-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoracehylee%2Fgcalendar-cli/lists"}