Créer des réunions Zoom avec Google Script, ça vous intéresse!

Dans cet article, on va parler de la méthode d'utilisation d'API de Zoom pour créer et planifier automatiquement des réunions Zoom avec Google Apps Script.

 Donc cette méthode va vous décrire la façon de créer et de programmer les réunions des utilisateurs dans votre compte Zoom grace à Google Apps Script et de l'API officiel de Zoom.

 Pour commencer, allez au tableau de bord du développeur Zoom et essayez de créer une nouvelle application .

 Puis,choisissez JWT comme type d'application et notez la clé et le secret de l'API Zoom.Nous pouvons aussi s'aider de la bibliothèque OAuth2 pour créer ces applications Zoom. Donc la démarche JWT est plus facile puisque cette application Zoom est uniquement destinée à un usage interne et elle ne sera pas publiée sur le marché de Zoom.

 L'application va comprendre deux étapes: La connexion à /api.zoom.us/v2/users/ API afin d'obtenir l'ID de zoom de l'utilisateur actuel authentifié, et une demande POST au point de terminaison /v2/users/<>/meetings pour créer la réunion Zoom réelle. 

 Voici comment générer le code d'accès au zoom: 


const ZOOM_API_KEY = '<Your Zoom key here>>';
const ZOOM_API_SECRET = '<Your Zoom secret here>';
const ZOOM_EMAIL = '<Your Zoom account email here>';

const getZoomAccessToken = () => {
  const encode = (text) => Utilities.base64Encode(text).replace(/=+$/, '');
  const header = { alg: 'HS256', typ: 'JWT' };
  const encodedHeader = encode(JSON.stringify(header));
  const payload = {
    iss: ZOOM_API_KEY,
    exp: Date.now() + 3600,
  };
  const encodedPayload = encode(JSON.stringify(payload));
  const toSign = `${encodedHeader}.${encodedPayload}`;
  const signature = encode(
    Utilities.computeHmacSha256Signature(toSign, ZOOM_API_SECRET)
  );
  return `${toSign}.${signature}`;
};


 Et voici comment obtenir le code ID de l'utilisateur interne à partir de l'utilisateur actuel: 


 const getZoomUserId = () => {
  const request = UrlFetchApp.fetch('https://api.zoom.us/v2/users/', {
    method: 'GET',
    contentType: 'application/json',
    headers: { Authorization: `Bearer ${getZoomAccessToken()}` },
  });
  const { users } = JSON.parse(request.getContentText());
  const [{ id } = {}] = users.filter(({ email }) => email === ZOOM_EMAIL);
  return id;
};


 La planification d'une réunion Zoom 

 Vous pouvez créer une réunion instantanée ou planifier une réunion avec une durée fixe et limitée. le format de l'heure du début de la réunion est comme suit: yyyy-MM-ddThh:mm:ss ; avec un fuseau horaire spécifié. La liste complète des fuseaux horaires sont dans ce lien tandis que celle des options de réunion est  ! 

 const createZoomMeeting = () => {
  const meetingOptions = {
    topic: 'Zoom Meeting created with Google Script',
    type: 1,
    start_time: '2020-07-30T10:45:00',
    duration: 30,
    timezone: 'America/New_York',
    password: 'filtrenet',
    agenda: 'Discuss the product launch',
    settings: {
      auto_recording: 'none',
      mute_upon_entry: true,
    },
  };

  const request = UrlFetchApp.fetch(
    `https://api.zoom.us/v2/users/${getZoomUserId()}/meetings`,
    {
      method: 'POST',
      contentType: 'application/json',
      headers: { Authorization: `Bearer ${getZoomAccessToken()}` },
      payload: JSON.stringify(meetingOptions),
    }
  );
  const { join_url, id } = JSON.parse(request.getContentText());
  Logger.log(`Zoom meeting ${id} created`, join_url);
};
 L'application peut être façonnée pour ajouter automatiquement de nouveaux participants à une réunion après avoir enregistré leur adresse e-mail sur Google Forms par exemple.Dans ce dernier cas, une demande POST est adressée à /meetings/{meetingId}/registrants avec le prénom du participant et l'adresse e-mail inclus dans le corps de la demande.

Publier un commentaire