How to use google calendar API for personnel project (Without verification) - google-api

I'am using google calendar API on my personal project for creating events through python.But the problem is its asking to verify app by giving privacy policy details (Otherwise the token would expire after 7 days),which i think is overkill for a personnel project .Here iam using my own account and accessing my own data.So is there any way that i can use google calendar API without verification,like for my own account.Or is it not possible to do so without verification.Or is there any other libraries to do the same thing,I just need to set events on my calendar Programmatically.Please help me!

What you want to do is create a "service account". Then you want create a new calendar for your (not the service account) calendar. Next, you share your new calendar with the service account by adding it under the "Share with specific people" section. Take note of the "Calendar ID" for this new calendar.
Now when you use the api you should add events from your service account to the new calendar by passing the calendar id as the calendarId.

Related

Is it possible for my app/server to create a Google Calendar event on behalf of 2 people in order for them to privately meet via a Google Meets link?

In my NextJS React app, a meeting needs to be booked between 2 people. Ideally, User A will have to accept a meeting request from User B, and then I'd like a Google Meets link to be created and shared with both User A and User B's respective e-mails. It seems this is not possible - what I am gathering is that I need OAuth 2.0 in order to generate a Calendar event to further create the Google Meet link. Can my app do this in the backend or does the app need to get User A's permission in the front end first via OAuth so that it can be created?
In order to create event we must take user's consent via OAuth authentication(User A in your case) using Google OAuth which we have to do by the interaction with the user(i.e. in the front end).
Once the authentication is done then you can create google calendar event with conference data in User A's calendar using Calendar API and add User B as the attendee of the event so that the calendars will be booked for both User A and User B. Make sure to add sendUpdates as query parameter to send the notifications. Conference data in google calendar event will generate google meet link.
Please refer the official documentation to learn more:
Calendar API

Can't send notification through service account calendar

I'm using google calendar API using google service account from my server.
I was able to send notifications for any event that was added or updated on the calendar.
Also, I shared the calendar with "normal" google account, so I can also add events to that calendar manually.
Recently i Noticed notifications are no longer sent from that calendar (which belongs to the google service account). Tried both by calling the API and manually using google calendar UI.
What i'm missing? Any recent changes to the calendar API can cause this?
Thanks

Is it possible to create meeting scheduler for web application using google calendar?

I want to create one form using html and Google Calendar API that form contains some input controls, lets's assume input control Name, Venue, Start Time, End Time etc...
I want, the visitor of my website to fill that form and after submission, I want to see the created event in my Google Calendar account.
Yes its possible to do this. You should look into useing a Service account. A service account is like a dummy user. Share your calendar with the service account it will then have permissions to read and write to your person a calendar using the Google Calendar API. Then create your form and using the service account insert into the calendar.
The users wont have to login they will just be able to add these events to the calendar. I have an article that explains how service accounts work in detail that might help Google developer beginners service accounts

Google Calendar API - Designed for?

I would like to implement a Google Calendar API using FullCalendar Javascript.
Before any start of coding I have some problem to understand what is the main purpose of the Google Calendar API.
As you know there is some Auth process before creation and enabling API.
That means that I, as owner or developer want to use Google Calendar API so I get client/secret/keys strings and it is OK.
I can create an app where I can “promote” my Google Account Calendar being public and then I can show all events from that calendar (dentist booking etc).
Also I am able to use Calendar in another way. For example: Within my App I can create one page where users can auth to their google accounts and see their events
are already created.
But, What if my logged users don't have a Google Accounts.
Google Calendar is strongly connected to already created google accounts? Is it possible to use Google Calendar strictly as an REST API?
I know that this may be a stupid questions but this is something that most of Google Calendar API beginners have problem with.
There are technically two ways of accessing a calendar on Google Calendar.
Your first option is where you are using Oauth2 to authenticate your users. They give you access to their google calendar and you can then insert events directly into their calendar. You can also see the events that they currently have. This as you said wont work if the user in question does not have a google account.
Your second option is to use something called a service account. Think of a service account as a dummy user. It has its own Google calendar account minus the web view. You could potentially us that to store events in a global calendar application calendar. Then when you want to add a user to an event you invite them you can set notification no they should receive an email and they will them be able to add the event to their own personal calendar. For you this may work out better because it does not require you to have access to the Users google calendar the only draw back will be there is no way for you to see if said user has any events going on at that time since you don't have access to their account to check.
I have given you a couple of links to some tutorials that I have write a few years ago that explains the difference between oauth2 and service accounts.
Google Calendars are tied to users, which means Google users. First of all, to access the API you need a GoogleAPIs developer key. This requires a Google account. Then you need Google accounts to use or test with the API.
The Google Calendar is tied to a user account as described at https://developers.google.com/google-apps/calendar/concepts/. One thing to notice is that "event" is an atomic unit in the API and a calendar is a set of events. In other words, a calendar in the Calendar API isn't a timespan like we think of "this year's calendar", it's a set of event objects. Within the app you describe, if the users don't have google accounts then they don't have associated calendars. You would have to tie these users to some kind of public or shared calendar. It's unclear if using the Calendar API solely as a REST API as you describe (without actual or "verified" user accounts) is in accordance with the Terms & Conditions. That aside, in theory it may be possible to use a service like that as a REST API to suit your needs. Maybe you can try inverting the problem so an event becomes the user with a primary calendar. Now the location of the event can be treated as the API-event. Other (normal Google) users can "attend" the location, at the given time, created by this event (=user). You could also apply the same approach to invert the problem by location. Location becomes the user, event becomes the API-event, and attendees are normal users. The latter approach is used commonly in businesses to book resources like rooms, equipment, etc.

Disable email notificaton when sharing a Google Calendar

I am using the Google Calendar API V3 to share Google calendars by managing the ACL Permissions. Many of my customers do not want an email notification when a new calendar is shared with them. Is there a way to disable that?
To explain bette what I am looking for: I also use the Google drive API v2 and that API addresses the issue by providing a sendNotificationEmails parameter that you can set to False when sharing a Google document (see this). I am looking for something similar.
Based from this documentation, you need to set sendNotifications to false so invitee didn't get the notification about the invitation even though invitee's calendar UI has New events setting to "true".
Check this example.
I don't believe this is currently possible. Sharing a calendar involves adding an ACL for a given user/group, and the notification email is generated upon adding the ACL. There does not appear to be any way to suppress the notification email. Even if you could, if you are sharing with a group, the individual users must click a link to add the calendar to their Calendar app.
I have put in a group of feature requests through the Calendar forum that would make this process easier. While it is aimed at the front end of the calendar application, I'm hoping they would add corresponding options to the APIs.

Resources