{"id":23589134,"url":"https://github.com/pixeljonas/node-red-contrib-googleapis","last_synced_at":"2026-04-20T05:33:56.802Z","repository":{"id":49322635,"uuid":"490440953","full_name":"PixelJonas/node-red-contrib-googleapis","owner":"PixelJonas","description":"NodeJS Library to perform various actions against the Google API","archived":false,"fork":false,"pushed_at":"2022-10-09T07:45:53.000Z","size":677,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-29T14:47:23.493Z","etag":null,"topics":["google","google-api","google-api-client","hacktoberfest","node-red","node-red-contrib","nodejs","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/PixelJonas/node-red-contrib-googleapis","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/PixelJonas.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":"2022-05-09T20:51:20.000Z","updated_at":"2022-10-09T07:26:18.000Z","dependencies_parsed_at":"2023-01-19T16:45:26.826Z","dependency_job_id":null,"html_url":"https://github.com/PixelJonas/node-red-contrib-googleapis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"alexk111/node-red-node-typescript-starter","purl":"pkg:github/PixelJonas/node-red-contrib-googleapis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelJonas%2Fnode-red-contrib-googleapis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelJonas%2Fnode-red-contrib-googleapis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelJonas%2Fnode-red-contrib-googleapis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelJonas%2Fnode-red-contrib-googleapis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PixelJonas","download_url":"https://codeload.github.com/PixelJonas/node-red-contrib-googleapis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelJonas%2Fnode-red-contrib-googleapis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32034686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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":["google","google-api","google-api-client","hacktoberfest","node-red","node-red-contrib","nodejs","typescript"],"created_at":"2024-12-27T06:13:13.638Z","updated_at":"2026-04-20T05:33:56.785Z","avatar_url":"https://github.com/PixelJonas.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node-RED Node Google APIS\n\nThis is the repo of [@openpixel/node-red-contrib-googleapis](https://www.npmjs.com/package/@openpixel/node-red-contrib-googleapis)\n\nI personally use that project to get all my google calendar events and parse them through node-red. While it may also work for other operations against the google API. These are not tested.\nThe main concept is, to wrap a node-red node around [googleapis](https://www.npmjs.com/package/googleapis).\n\n## Getting Started\n\n1. This project is designed to work with `yarn`. If you don't have `yarn` installed, you can install it with `npm install -g yarn`.\n2. Install dependencies: `yarn install`.\n\n## Nodes\n\nThis projects provides 1 credentials node `google-credentials` and two nodes `google-operation` and `google-events` \n\n\n### Google Credentials\nThe `google-credentials` node provides the Credentials to be used when performing request against the google-api. We opted to use [User consenst](https://support.google.com/googleapi/answer/6158849?hl=en\u0026ref_topic=7013279#zippy=%2Cuser-consent) and the [limited Input Device](https://developers.google.com/identity/protocols/oauth2/limited-input-device) to provide credentials for node-red. While other authentication options would be supported as well they are currently not implemented. Using the [limited Input Device](https://developers.google.com/identity/protocols/oauth2/limited-input-device) there might be issues with specific scopes not being able to be accessed via this node. Please raise an issue if you find these scopes.\n\n#### Scopes\nWhen configuring the authentication you have to provide the scopes you want to use in a comma-seperated string. An overview of all available scopes is available at the [official documentation](https://developers.google.com/identity/protocols/oauth2/scopes).\n\n### Google Operation\n\nThis node let's you perform a generic operation agains the google-api. Finding the correct combination of  `api`, `version`,`path`, `method` can get tricky. The [NodeJS API client documentation](https://googleapis.dev/nodejs/googleapis/latest/) will give you a hint on how to traverse the API and what payload is available for that API. \nAs an example, getting all events from your primary google calendar would be [/calendar/v3/events/list](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Events.html#list) which results in\n\n```yaml\nname: myrequest\napi: calendar\nversion: v3\npath: events\nmethod: list\n```\n\nIt's also possible that your `path` includes a `/` to traverse the API.\n\n### Google Events\nThis node directly calls the `calendar/v3/events/list` API to get all events from a calendar. It wraps the logic of `google-operation` to provide easier configuration of the payload (like what events, and what calendar).\n\n# Contributing\n## Adding Nodes\n\nYou can quickly scaffold a new node and add it to the node set. Use the following command to create `my-new-node-type` node:\n\n```\nyarn add-node my-new-node-type\n```\n\nThe node generator is based on mustache templates. At the moment there are three templates available:\n\n- `blank` (used by default) - basic node for Node-RED \u003e=1.0\n- `blank-0` - node with a backward compatibility for running on Node-RED \u003c1.0\n- `config` - configuration node\n\nTo generate a node using a template, specify it as the third argument:\n\n```\nyarn add-node my-new-node-type blank\n```\n\nor\n\n```\nyarn add-node my-new-node-config config\n```\n\n### Adding Node Templates\n\nIf you want to make your own template available, add it to `./utils/templates/`.\n\n## Developing Nodes\n\nBuild \u0026 Test in Watch mode:\n\n```\nyarn dev\n```\n\n## Building Node Set\n\nCreate a production build:\n\n```\nyarn build\n```\n## Testing Node Set in Node-RED\n\n[Read Node-RED docs](https://nodered.org/docs/creating-nodes/first-node#testing-your-node-in-node-red) on how to install the node set into your Node-RED runtime.\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixeljonas%2Fnode-red-contrib-googleapis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixeljonas%2Fnode-red-contrib-googleapis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixeljonas%2Fnode-red-contrib-googleapis/lists"}