Starting a hangout with a list of users invited - google-api

I have a website where is discussion is happening among some people with valid gmail ids. If one of them in the discussion clicks on the google hangout button, I need to start a hangout with the list of users in the discussion invited already i.e. I need to avoid the Add Participant popup that comes up when the hangout app is opened. Is there a way to do this? I explored the documentation and I couldn't find any API to invite a participant.

To the best of my knowledge (and more than willing to be corrected), there isn't a way to trigger a hangout with a set of participants. There is a bit of a hack using the calendar API though - you could create a calendar entry in a calendar set to automatically create hangouts, and invite everyone that way. I had an old blog post on it: http://www.riskcompletefailure.com/2012/11/programmatically-scheduling-hangouts.html

I believe this is new capability since the question was asked, but it is now possible to create a hangout button which starts a hangout with a list of users invited (based upon G+ Profile Id, G+ Circle Id, or Email Address).
See details at https://developers.google.com/+/hangouts/button#invite_parameters.
Note: The list is only a suggestion to the user that starts the Hangout. Before the Hangout begins, that user will be able to skip the invite or change the list of people.

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

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.

Google Hangouts - controlling other participants video

I'm thinking about creating sort of helper application for friend to enjoy paper RPG through internet.
I was thinking about using Hangouts API, however I have.
Is there a way of temporarily exclude some of the participants from running conversation? They can see other data on app, but should hear nor see other participants.
Is there a way of creating a private conversation within group conversation? So private participants will disappear from group, and after finishing the would automatically be reconnected to group conversation?
I'm reviewing Hangouts API, but I'm not finding answers. Or maybe I should look into WebRTC instead of Hangouts?
Thanks
What you're describing is... another Hangout or WebRTC session ;). You could always develop your own Hangout Extension to share specific info with selected participants who are also using your extension.
You could also have your Hangout session be the main conversation with all parties, while you use Join.me, Zoom.us or WebRTC to screenshare privately with your friend.

Create Hangout session with unique link

I'm working to create a hangout app. where initiator can create a hangout session with unique link and invite others user (called attendees) by giving that unique link. so when an attendee click that link he can attend only that hangout session.
I've created an app. with basic XML file provided by Google, but can't figure out how to create unique link for each hangout session. Is there any functions in Hangout API? as far as I've read API documentation I don't found such function. Can anybody suggest me how to do it?
Please help me....
This YouTube video discusses how to do what you want: http://www.youtube.com/watch?v=Al4SbeVyLm4
The general procedure will be for the initiator to create a hangout using a link on your website and, as part of creating it, starting up a hangout app. This app sends the URL for the hangout back to your website where it can be sent to the attendees.

Resources