google-api-nodejs-client icon indicating copy to clipboard operation
google-api-nodejs-client copied to clipboard

How we can make event on google calander in such way that anyone with link can join.

Open MOIN-AKHTAR opened this issue 2 years ago • 6 comments

How we can make event on google calander in such way that anyone with link can join.Now when we create calander event via GUI we have : QUESTION We can select Meeting access type as OPEN and anyone with meet link can join but how we can do via our googleapis pkg?anyone plz. I am using this code snippet to create google calander event.

const { JWT } = require("google-auth-library");
const { calendar_v3 } = require("@googleapis/calendar");
const Calander = calendar_v3.Calendar;
const credential = require("./service-account.json");

const createEvent = async () => {
  try {
    const requestId = Math.floor(Math.random() * 100000);

    const auth = new JWT(
      credential.client_email,
      null,
      credential.private_key,
      ["https://www.googleapis.com/auth/calendar"],
      "[email protected]",
      credential.client_id
    );

    const calendar = new Calander({ version: "v3", auth });

    const event = {
      summary: "Appointment",
      description: "Meeting with client",
      start: {
        dateTime: "2023-08-01T12:00:00",
        timeZone: "Asia/Karachi",
      },
      end: {
        dateTime: "2023-08-03T12:30:00",
        timeZone: "Asia/Karachi",
      },
      anyoneCanAddSelf: true,
      conferenceData: {
        createRequest: {
          requestId,
          conferenceSolutionKey: {
            type: "hangoutsMeet",
          },
        },
      },
      attendees: [],
    };

    const response = await calendar.events.insert({
      calendarId: "primary",
      resource: event,
      conferenceDataVersion: 1,
    });

    console.log("Google Meet link: %s", response.data.hangoutLink);

    return;
  } catch (error) {
    console.log(error);
  }
};

MOIN-AKHTAR avatar Aug 01 '23 10:08 MOIN-AKHTAR

@ddelgrosso1 @sofisl @JustinBeckwith

MOIN-AKHTAR avatar Aug 02 '23 09:08 MOIN-AKHTAR

@MOIN-AKHTAR l: Please don't tag unrelated users. Be patient, and I'm sure you'll get a reply soon.

jskeet avatar Aug 02 '23 10:08 jskeet

@jskeet I apologies for that.

MOIN-AKHTAR avatar Aug 02 '23 11:08 MOIN-AKHTAR

`const express = require("express"); const router = express.Router(); const { ErrorResponse } = require("../utils/errorResponse.js"); const { google } = require("googleapis"); const serviceAccount = require("../serviceAccount.json")

router.post("/generate_meeting_link", async (req, res, next) => { try { const { dateTime } = req.body;

    if (!dateTime) throw new Error("dateTime is required");
    const startTime = new Date(dateTime)

    const jwtClient = new google.auth.JWT({
      email: serviceAccount.client_email,
      key: serviceAccount.private_key,
      scopes: ["https://www.googleapis.com/auth/calendar"]
    })

    const calendar = google.calendar({ version: 'v3', auth: jwtClient });
    const data = await calendar.events.insert({
        calendarId: serviceAccount.calendar_id,
        requestBody: {
          summary: 'Appointment scheduling',
          description: 'Checking if I can create google meet link',
          location: 'Virtual Meeting',
          start: {
            dateTime: startTime.toISOString(),
            timeZone: 'GMT+05:30',
          },
          end: {
            dateTime: new Date(startTime.setHours(startTime.getHours() + 1)).toISOString(),
            timeZone: 'GMT+05:30',
          },
          conferenceData: {
            createRequest: {
              requestId: crypto.randomUUID(),
              conferenceSolutionKey: { type: "hangoutsMeet" }
            }
          }
        }
     })

    res.status(200).json(data.data)

} catch (err) {
    next(new ErrorResponse(err.message, 500));
}

})

module.exports = router; ` I this don't create google meet link

vishal-gg avatar Apr 26 '24 14:04 vishal-gg

@MOIN-AKHTAR I'm looking for an answer to this too, still. Did you find out how to do it?

justColbs avatar Jul 18 '24 16:07 justColbs