Как добавить ссылку Google Meet к новому событию календаря Google с помощью скрипта Google Apps?

#javascript #google-apps-script #google-api #google-calendar-api #google-meet

#javascript #google-apps-script #google-api #google-calendar-api #google-meet

Вопрос:

Я ссылаюсь https://cloud.google.com/blog/products/application-development/hangouts-meet-now-available-in-google и https://developers.google.com/calendar/v3/reference/events , но, похоже, не могу понять, как программно добавить ссылку Google Meet к событию Календаря Google. Вот мой код скрипта Google Apps:

 /**
 * Creates an event in the user's default calendar.
 */
function createEvent() {
  var calendarId = 'primary';
  var start = getRelativeDate(1, 12);
  var end = getRelativeDate(1, 13);
  var event = {
    summary: 'Test Event',
    description: 'Test.',
    start: {
      dateTime: start.toISOString()
    },
    end: {
      dateTime: end.toISOString()
    },
    attendees: [
      {email: 'XXXXXX@XXXX.XXX'},
    ],
      conferenceData: {createRequest: {conferenceSolutionKey: {type: 'hangoutsMeet'}}}
  };
      event = Calendar.Events.insert(event, calendarId, {sendNotifications: true, conferenceDataVersion: 1}  );
  Logger.log('Event ID: '   event.id);
}

/**
 * Helper function to get a new Date object relative to the current date.
 * @param {number} daysOffset The number of days in the future for the new date.
 * @param {number} hour The hour of the day for the new date, in the time zone
 *     of the script.
 * @return {Date} The new date.
 */
function getRelativeDate(daysOffset, hour) {
  var date = new Date();
  date.setDate(date.getDate()   daysOffset);
  date.setHours(hour);
  date.setMinutes(0);
  date.setSeconds(0);
  date.setMilliseconds(0);
  return date;
}  

Любая помощь приветствуется. Спасибо!

Комментарии:

1. В официальном документе говорится You can create a new conference for an event by providing a createRequest with a newly generated requestId which can be a random string. . Исходя из этого, кажется, что это необходимо включить requestId для создания новой конференции, подобной conferenceData: {createRequest: {requestId: Utilities.getUuid(), conferenceSolutionKey: {type: 'hangoutsMeet'}}} .

Ответ №1:

Я успешно использовал этот код для создания события и возврата ссылки Meet, используя текстовые переменные ‘summary’, ‘id’; и переменные даты ‘start’ и ‘end’:

 var event = {
  "summary": summary,
 "start": {
   "dateTime": start.toISOString()
     },
  "end": {
    "dateTime": end.toISOString()
      },
       "conferenceData": {
          "createRequest": {
           "conferenceSolutionKey": {
             "type": "hangoutsMeet"
         },   
           "requestId": id
          }
     }
  };

 event = Calendar.Events.insert(event, 'primary', {
   "conferenceDataVersion": 1});
 return event.hangoutLink;