Unable to start the meeting by other users other than Me

Description
I used self@gmail.com to create iOS App and JWT app in marketplace.zoom.us and got apiKey, apiSecret, sdkKey and sdkSecret.

When I schedule a meeting from Google Calendar and when I start the meeting, I am able to Start a meeting without asking / showing any input password popup. (Used self@gmail.com for fetching ZAK)

When Someone else schedules the meeting and they want to start the meeting, It is asking / showing Enter passcode alert. (Used others@gmail.com for ZAK fetching)

I am fetching the ZAK by using below API.
https://api.zoom.us/v2/users/me/token?type=zak&access_token=JWT

OR

https://api.zoom.us/v2/users/<HOST_EMAIL_ID>/token?type=zak&access_token=
(It is working for only my email id(self@gmail.com), for other email ids, it says

{
“code”: 1001,
“message”: “User does not exist: Others@gohuddl.com.”
}
)

Used the following code:

    func joinZoomMeeting(meetingNumber: String, meetingPassword: String, zak: String) {
                if let meetingService = MobileRTC.shared().getMeetingService() {
                    **HOSTING MEETING**
                    meetingService.delegate = self
                    
                    if let hostEmail = meeting?.organiser?.emailId, hostEmail == UserManager.shared.currentUser?.emailID {
                        let user = MobileRTCMeetingStartParam4WithoutLoginUser()
                        user.userType = .apiUser
                        user.meetingNumber = meetingNumber
                        user.userName = UserManager.shared.currentUser?.displayName
                        user.userID = UserManager.shared.currentUser?.emailID ?? ""
                        user.isAppShare = false
                        user.noAudio = !audioStateButton.isSelected
                        user.noVideo = !videoStateButton.isSelected
                        user.zak = zak
                        meetingService.startMeeting(with: user)
                    } else {
                        **JOINING MEETING**
                        let joinMeetingParameters = MobileRTCMeetingJoinParam()
                        joinMeetingParameters.meetingNumber = meetingNumber
                        joinMeetingParameters.password = meetingPassword
                        joinMeetingParameters.userName = UserManager.shared.currentUser?.displayName
                        joinMeetingParameters.noAudio = !audioStateButton.isSelected
                        joinMeetingParameters.noVideo = !videoStateButton.isSelected
                        meetingService.joinMeeting(with: joinMeetingParameters)
                    }
                }
            }

Which iOS Client SDK version?
5.5.12511.0421

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Schedule a meeting from the user who didn’t have created iOS app in Marketplace.zoom.com
  2. Create JWT and fetch ZAK using the organiser / host email id
  3. Start the meeting with the same ZAK
  4. It is not recognising the host and showing a popup for passcode

Smartphone (please complete the following information):

  • Device: iPhone 6S
  • OS: iOS 13

Additional context

Hi @dnreddy890 ,

Happy to help.

Please note that for normal users (non-api), the expiry time of the start url (zak token) is 2 hours.

You can only generate the ZAK token for the users that belong to the same Zoom account as yours using the JWT token.

If you intend to generate the token for the external users, then you need to develop an OAuth app, and publish it in the marketplace. Once published, you can use the production credentials of that app to generate a zak token for them.

Here is the guideline to create the OAuth app: https://marketplace.zoom.us/docs/guides/build/oauth-app

Let me know if you have any other questions.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.