# Get events from google calendar

**URL:** <https://discourse.nodered.org/t/get-events-from-google-calendar/4830>\
**Category:** General\
**Created:** [13 November 2018 09:40 UTC](https://discourse.nodered.org/t/get-events-from-google-calendar/4830 "2018-11-13T09:40:49Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Marooned](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marooned/32/2858_2.png) [@Marooned](https://discourse.nodered.org/u/Marooned)\
**Post date:** [20 November 2018 12:16 UTC](https://discourse.nodered.org/t/get-events-from-google-calendar/4830/6 "2018-11-20T12:16:17Z")

</div>

`node-red-node-google` is [not working at all](https://discourse.nodered.org/t/using-google-calendar-node-authorisation-not-working/4745). However, there is `node-red-contrib-google` node which is wrapping Google API and is working like a charm. It's also much more flexible.

Put inject node and send

```auto
{
    "calendarId": "yourIdHere@gmail.com",
    "timeMin": "2018-11-19T09:11:13.562Z",
    "timeMax": "2018-11-21T09:11:13.562Z"
}

```

to `google` node. On `google` node set `API` to `calendar:v3` and `Operation` to `events.list` (of course you could leave that empty and provide everything by input node). `timeMin` and `timeMax` is what you want to create time window. Just checked it, works perfectly.

Of course, you need to configure `google` node but that is extremely simply (not like `node-red-node-google`):

- [generate JSON key](https://console.developers.google.com/apis/credentials/serviceaccountkey)
- [go to IAM & admin](https://console.cloud.google.com/)
- create `Project > editor` and copy created e-mail address of created service
- share your calendar with that e-mail

---

_[View the full topic](https://discourse.nodered.org/t/get-events-from-google-calendar/4830)._
