To quickly answer your questions, the vanityID is an id associated with your Zoom organization (docs) and the customer_key should be the participant id (docs)
That being said, you don’t actually need the vanityID and customer_key to start using the Zoom meeting bot because both of these fields are nullable
Another option is Recall.ai . It’s a simple 3rd party API that lets you use meeting bots to get raw audio/video from meetings without you needing to spend months to build, scale and maintain these bots. You can deploy a bot to a zoom meeting in under 5 minutes with using a simple API
-- Using the single-header code from /app/demo/build/_deps/json-src/single_include/
ln: failed to create symbolic link 'libmeetingsdk.so.1': File exists
-- Configuring done
-- Generating done
-- Build files have been written to: /app/demo/build
Consolidate compiler generated dependencies of target meetingSDKDemo
[100%] Built target meetingSDKDemo
unix:path=/run/dbus/system_bus_socket,guid=959dd410e40a3cb27bf4814b6792a072
Adding user `root' to group `pulse-access' ...
Adding user root to group pulse-access
Done.
Adding user `root' to group `audio' ...
Adding user root to group audio
Done.
cp: target '/root/.config/pulse/' is not a directory
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
19
mkdir: cannot create directory '/root/.config': File exists
getpath
self path: /app/demo/bin
Readfile success.
Reading..meeting_number: "**********"
Reading.. token: "**************"
Reading.. meeting_password: "**********"
Reading.. recording_token: "************"
Reading.. GetVideoRawData: "true"
Reading.. GetAudioRawData: "true"
Reading.. SendVideoRawData: "false"
Reading.. SendAudioRawData: "false" HostUser: "***********"
Reading.. authToken: "************"
Meeting Number: ************
authToken: ***********
Token: **********
meeting_password: *********
recording_token: ********
GetVideoRawData before parsing is : true
GetVideoRawData: 1
GetAudioRawData before parsing is : true
GetAudioRawData: 1
SendVideoRawData before parsing is : false
SendVideoRawData: 0
SendAudioRawData before parsing is : false HostUser: ***********
SendAudioRawData: 0
directory of config file: /app/demo/bin/config.txt
Init meetingSdk:success
AuthServiceEventListener added.
AuthService created.
AuthSDK:token extracted from config file *******************
Hey @emotioniq I noticed that you’re calling both StartMeeting and JoinMeeting in OnAuthenticationComplete. Only one of these functions should be called, depending on whether you want to start a new meeting or join an existing one. Is there a reason that you’re calling them both in the same function right now?
@amanda-recallai Yeah, I’m creating scheduled meeting and want for bot will start meeting and after this connect to the meeting and start raw recording
Because of this, it makes me think that the error is being thrown because the SDK function is being called at the wrong time. You can try logging to see which function is being thrown here and also try following zoom/meetingsdk-linux-raw-recording-sample to guide you along the way and see how to initialize and run the start function
However, when I start the bot, it doesn’t wait for start_time and tries to start the conference immediately.
Problem 2
In addition, after the bot starts the conference and connects to it, I want it to wait for the user(not the host) and only then start recording audio and video. I would like to know if this is possible?
I already have one bot that does all the necessary steps to process raw data. However, it only knows how to connect to an already created conference.
However, when I start the bot, it doesn’t wait for start_time and tries to start the conference immediately.
If you want your bot to join a call at a scheduled time, this will be something you need to implement on your end. You’ll want to utilize your own logic (e.g. a cron job) to launch a bot at the correct time.
In addition, after the bot starts the conference and connects to it, I want it to wait for the user(not the host) and only then start recording audio and video. I would like to know if this is possible?
Before your bot is able to record a meeting, they’ll need to get permission from the host of the meeting. Non-host participants can’t grant recording permission to the bot.
However, if you’re able to provision the bot with a join token for local recording, then the bot will be able to join the call and start recording automatically without needing to ask for permission.