flutter_zoom_sdk icon indicating copy to clipboard operation
flutter_zoom_sdk copied to clipboard

Schedule meeting feature implementation

Open ark-brighthustle opened this issue 3 years ago • 10 comments

@evilrat , It would be great if you can also plan the Schedule Meeting feature. Like if the host wants to schedule the meeting, after scheduling the meeting, he will get the scheduled meeting details.

Originally posted by @Achin-verma in https://github.com/evilrat/flutter_zoom_sdk/issues/27#issuecomment-990935684

ark-brighthustle avatar Jan 13 '22 07:01 ark-brighthustle

any update on schedule meetings?

itsAyyazdev avatar Jan 25 '22 20:01 itsAyyazdev

any update on schedule meetings?

zoom removed from sdk.......we need to use api

ark-brighthustle avatar Jan 26 '22 16:01 ark-brighthustle

Yes, for this feature, we need to use zoom meetings APIs. For the schedule and join as a host and join as participants. You have to follow this flow.

  1. First, you have to buy the zoom user license, which is paid.
  2. Then from the zoom API, you have to use this API to create the meeting. https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate.
  3. Now, you have to save this response on your server and this response will give you all the details to join as a host and join participants
  4. To join as participants, you need a meeting id and meeting password, from the above api response. Which you have to pass in this zoom sdk.
  5. To join as a host, you need, a meeting id, licensed user email as user id, display name, zak, zoom access token, you can get it from start_url from creating meeting API response. I am posting the code to join as a host via using the android zoom sdk,

To Join as a Host.

public int startMeetingWithHost() {
    ZoomSDK mZoomSDK = ZoomSDK.getInstance();
    if(!mZoomSDK.isInitialized()) {
      System.out.println("==========Not initialized!!!!!!=====");
      return -1;
    }

    int ret = -1;
    MeetingService meetingService = mZoomSDK.getMeetingService();
    if(meetingService == null) {
      return ret;
    }

    StartMeetingOptions opts = getStartMeetingOptions();
    opts.no_driving_mode = true;
    opts.no_invite = true;
    opts.meeting_views_options = MeetingViewsOptions.NO_TEXT_PASSWORD + MeetingViewsOptions.NO_TEXT_MEETING_ID;

    StartMeetingParamsWithoutLogin params = new StartMeetingParamsWithoutLogin();
    params.userId = userId;
    params.userType = MeetingService.USER_TYPE_SSO;
    params.displayName = displayName;
    params.zoomAccessToken = zak;
    params.meetingNo = meetingNo;
    ret = meetingService.startMeetingWithParams(context, params, opts);
    Log.i("startMeetingWithNumber", "======startMeetingWithNumber=====ret=" + ret);
    if(ret == MeetingError.MEETING_ERROR_SUCCESS){
      
    }else{
      MEETING ERROR
    }
    return ret;
  }

  public static StartMeetingOptions getStartMeetingOptions() {
    StartMeetingOptions opts = new StartMeetingOptions();
    return opts;
  }

Achin-verma avatar Jan 27 '22 04:01 Achin-verma

2. https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate

i don't think that users will buy license for zoom...if they can alternatively schedule meeting

ark-brighthustle avatar Jan 27 '22 05:01 ark-brighthustle

2. https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate.

above link has api and provide some response......and this plugin is used only by developers so can can call api using dio and save response and can use it later as per their need......so i don't think their is any use of providing this feature in this plugin........if you still think that this needs to be there in plugin...then we will look into it...and try to implement it as soon as possible.....thanks

ark-brighthustle avatar Jan 27 '22 05:01 ark-brighthustle

Hi @evilrat

Yes this will be required. As we are not being able to host meeting with the zoom's API user. These user don't have password but can still start meeting with ZAK token, meeting id , user id and meeting password and the participants can participate. This library flutter_zoom_plugin had that feature implemented. https://github.com/decodedhealth/flutter_zoom_plugin/blob/88d1fa2685f28d67410d46e094461a0a030d3192/lib/zoom_view.dart#L83-L84

selvesandev avatar Feb 01 '22 05:02 selvesandev

Hi @evilrat

Yes this will be required. As we are not being able to host meeting with the zoom's API user. These user don't have password but can still start meeting with ZAK token, meeting id , user id and meeting password and the participants can participate. This library flutter_zoom_plugin had that feature implemented. https://github.com/decodedhealth/flutter_zoom_plugin/blob/88d1fa2685f28d67410d46e094461a0a030d3192/lib/zoom_view.dart#L83-L84

Schedule meeting with your personal meeting id and password.....and use that to join meeting and start meetig

ark-brighthustle avatar Feb 01 '22 11:02 ark-brighthustle

Yep we can totally do that but when there is multiple user hosting meeting at the same time (i.e each api user hosting their own personal meeting concurrently and each have different set of participants). This is not working for this scenario

selvesandev avatar Feb 01 '22 15:02 selvesandev

Yep we can totally do that but when there is multiple user hosting meeting at the same time (i.e each api user hosting their own personal meeting concurrently and each have different set of participants). This is not working for this scenario

i get it

ark-brighthustle avatar Feb 02 '22 06:02 ark-brighthustle

@evilrat is there any update about when we could make the user join as a host?

dery86 avatar Aug 30 '22 22:08 dery86