Help Center/ Meeting/ Client SDK Reference/ Electron SDK/ Typical Scenarios/ Scenario 9: Joining a Meeting by Clicking a Link in an Email
Updated on 2023-03-23 GMT+08:00

Scenario 9: Joining a Meeting by Clicking a Link in an Email

Description

You can use a meeting link (for example, https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659) in the notification email to join a meeting. The link contains the meeting ID (981924330) and random code (e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659).

You can call this API to join a meeting using the meeting ID and 48-digit value (random code) mapping to the password in the meeting link before or after logging in to Huawei Cloud Meeting.

Service Process

When using the SDK to join an existing meeting, call the joinConfByRandom API and implement the API callback function onJoinConfByRandomResult and subscribed-to message notifications onConfStateChanged and onConfInfoNotify.

  1. Call an API.

    1. Assemble the data structure JoinConfByRandomInfo and callback function onJoinConfByRandomResult.
    2. Call the joinConfByRandom API to join the meeting. The data in the preceding step is used as input parameters.

  2. Implement the callback function.

    Implement the onJoinConfByRandomResult function.

  3. Implement the notification function.

    Implement the onConfStateChanged function.

  4. Implement the notification function.

    Implement the onConfInfoNotify function.

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// Join a meeting using the meeting ID and random code.
async goToJoinConfByRandom(){
  let { confId, random, nickName, isSpeakerOff, isMicOn, isCameraOn } = this.state;
  let param = {
    confId: "988148352",
    random: "c4f92bc34e685bbba6c23589741be0431997f30da5d6e47b",
    nickName: "Hangzhou site",
    isSpeakerOff: false, // The speaker is not muted by default after a user joins the meeting.
    isMicOn: true, // The microphone is enabled by default after a user joins the meeting.
    isCameraOn: false, // The camera is disabled by default after a user joins the meeting.
  }
  const apiService = new ApiService();
  let setResult = await apiService.joinConfByRandom(param);
  if(setResult.ret != 0){
    window.electron.ipcRenderer.send("show-error-alert", "joinConfByRandom error = " + setResult.ret);
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
/**
* Definition of joinConfByRandom API in ApiService
*/
async joinConfByRandom(joinConfByRandomInfo) {
  return new Promise((resolve) => {
    let resultCallback = (ret, reason) => {
      console.log("joinConfByRandom, out data = ", { ret, reason });
      resolve({ ret, reason });
    };
    console.log("joinConfByRandom, in param = ", joinConfByRandomInfo);
    this.uisdkService.getConfCtrlApi().joinConfByRandom(joinConfByRandomInfo, resultCallback);
  });
}

The onConfStateChanged and onConfInfoNotify event notification scenarios are the same as the meeting creation scenario. For details, see Scenario 6: Creating a Meeting.

The 48-digit value mapping to the password is a part of the character string carried in the link for sharing a meeting.

https://bmeeting.huaweicloud.com/#/j/987297025/227b2d708b7e5a24ce8de2159772239b1672c0a85ba70d85