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/<
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}`;
};
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;
};
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);
};
Enregistrer un commentaire