Zoom Video SDK issue with createMeetingItem() method

Task: To create meeting with the use of Zoom iOS sdk

Issue : createMeetingItem() method returns nil.

SDK version : v4.6.15084.0206

Steps taken:

SDK initialization and Authentication - done successfully and user can join meetings as well.

Now when I tried to create scheduled meeting with reference to SDK documentation , I stuck at this method.

After creating preMeeting with “MobileRTC.shared().getPreMeetingService()”
Next step is not successfull when I try to create meeting item for creating meeting.

Reference: https://marketplace.zoom.us/docs/sdk/native-sdks/iOS/mastering-zoom-sdk/other-features/schedule-meeting-for-login-user

MobileRTC.shared().isRTCAuthorized() returns True

I dont know how to debug this and whats the problem , just need the help to get around this issue.

Thanks in advance

Hi

Thanks for using Zoom SDK. May I confirm that the user has successfully logged-in with email/password or SSO token? The premeeting service is only available for the logged in user.

Our demo app also has this implementation: https://github.com/zoom/zoom-sdk-ios/blob/master/MobileRTCSample/MobileRTCSample/ScheduleTableViewController.m#L472

Hope this helps. Thanks!

hello Carson,

Thanks for the help, Yes I was trying to schedule meeting without login the user.

So for implementing schedule meeting, I am now trying to use ZOOM APIS.
Steps taken so far are as follows.
Created Oauth app in account.
Tested the required apis, on zoom documentation with the help of widget and THAT WORKS FINE.

Tested to create user (cust_create) and schedule a meeting with this user.

Refering to this page:
https://marketplace.zoom.us/docs/guides/authorization/oauth/oauth-with-zoom

I am trying to implement

https://zoom.us/oauth/authorize?response_type=code&client_id=XXXXXXXXX&redirect_uri=https://yourapp.com

Now while implementing thi api in ios app, I dont know what to put in "redirect_uri ".

On that page its written as follows.
All Zoom OAuth and API endpoints must be called from the server side of your application. If called from the client side, CORS errors will be thrown.

My app dont have backend server, so what can I do to get auth token without a redirect URI?

Thanks

Hey @swapnil.more,

You will need to make a proxy server to call the APIs.

Your Mobile App > Your Proxy Server > Zoom API

Checkout this document: https://www.oauth.com/oauth2-servers/mobile-and-native-apps

Thanks,
Tommy

Hello @tommy,
Thanks for the information.
Although i found that I can use JWT token to authorize and call API which resolves my previous issue.
I am creating non-login users, and creating meeting with those users as host.
Then I tried to start meeting with SDK, but that is failing.

I am generating , Zoom token and ZAK as well.
Please let me know , whats the issue.

Consider all param values are non Nil And startmeeting is started with param object (ignore spelling meetingParam).
Its showing meeting error 150. Which is failed to write configure file. I dont understand that.

Hi swapnil.more,

Thanks for the reply. The error code 150 means “Invalid arguments”, which means one of the parameters are not valid.

I have tried to use the same code snippet shown in the screenshot and I am able to start a meeting with tokens(if passing the “param” instead of “meetingParam” to startMeeting).

Normally the following situation would cause the error code 150:

  1. The parameter object that is passing to startMeeting is not valid
  2. The SDK was not initialized successfully
  3. The user is logged-in
  4. userID, token, or zak is not valid

Please double check the above info and see if it helps. Our demo app also has the code snippet that works: https://github.com/zoom/zoom-sdk-ios/blob/master/MobileRTCSample/MobileRTCSample/SDKPresenters/how_to_start_join_meeting/start_with_rest_api_user/SDKStartJoinMeetingPresenter%2BRestApiWithoutLoginUser.m#L41

Hope this helps. Thanks!

Hello @carson.zoom,

Thanks for the reply, I found the issue which was logged-in user.
So I added a check to see if the user is logged in and logged out if yes.
After that , start meeting method works.

In addition I would like to suggest at some places you guys can improve documentation for the same.
Like how to solve the error codes and their possible reasons.
I am not complaining , you must have thought about it

Hi swapnil.more,

Thanks for the reply and glad to hear that the problem has been resolved. And really appreciate the kindly suggestions. I understand there is a lot of room for improvement in our documentation and we keep improving our documentation. I will forward your suggestions to the documentation team and we will make it better.

In the meantime, if you found any issues that are not being answered by our doc, please let us know and we will be more than happy to assist you to resolve them.

Thanks! Happy Zooming!

Hello @carson.zoom,
Yes I will keep sending suggestions about documentation as per my findings.

I need to clarify some things from you.

I have enabled the cloud recording setting for meetings which are scheduled by API users.
But when meeting is started that meeting is not getting recorded, it’s only getting recorded when licensed user have scheduled it.

My question is , can I record all meetings in to cloud even if licensed user is not part of them?
What solution can be suggested for this scenario?

Hi swapnil.more,

Thanks for the reply. When you are mentioning “I have enabled the cloud recording setting for meetings which are scheduled by API users.”, do you mean you have enabled the “Automatic recording” in the web portal (zoom.us)?

Or are you using the iOS SDK interface turnOnCMR(https://zoom.github.io/zoom-sdk-ios/interface_mobile_r_t_c_meeting_service.html#a4fce04d5ce18fb43b0352d6543f00bb1) to turn on cloud recording when the meeting starts?

The cloud recording is a paid feature so I am afraid if the user does not have this feature bind with the account, then the feature will not be available in the meeting.

If you would like to record all meetings, you might need to have a licensed user to schedule all meetings, and have the non-licensed user to join the meeting.

Hope this helps. Thanks!

Hello Carson,

Thanks for the reply,

I am using an api to create meeting and in settings I am sending the autoRecording parameter as “cloud”.

And also have turned on auto recording option in setting page of zoom portal profile.

But problem is that meetings created by API users can’t get recorded automatically.

Scenario:

API users created with “custCreate” method, which are non login users.

Create user api gives error if we try to create licensed user , it says max. 1 paid user for this account.

So we can only create basic users in create api

My client wants that meetings created by these API users should get recorded in cloud.

My question :

Is there any way to Pay one time amount to acheive this, rather than paying per host every month.

Please guide how can we accomplish this?

Hi swapnil.more,

Thanks for the reply. Regarding the options or alternatives for your question, I will ask an expert to help you. Get back to you shortly.

Thanks!

Hey @swapnil.more,

Can you create a new topic in the Zoom API category so I can assist you with your issue.

Thanks,
Tommy