how to match oauth user with callback from meeting join on zoom sdk for linux

Here is my use case:

  • I have to match a zoom user who authorizes my application via OAuth workflow, and I save their access token, as well as their id in our db. Now, this id seems to be a unique id of the user.
  • I have another program that runs the zoom sdk for linux, where a user (any user) joins a meeting. Now, when a user joins, the callback I get uses a temporary id for the user. There is also a persistent id that is available. However, none of these ids match the unique id that I obtained from the Oauth workflow.
  • I am trying to identify the user who joined the meeting, and match them to the entry in a database from the OAuth workflow.

Both the Oauth workflow and the program that runs the zoom sdk are different systems and not connected.

Adding more color to use case:

  • Using Zoom Linux SDK to create an app which is a zoom bot that joins a host’s meeting. The bot runs our app (the user would have authorized the app via oauth earlier).

  • The bot uses the SDK to access raw audio and feeds to our backend which does real time analytics on the call, hence needs to identify the participants on the call (those who have authorized the app).

  • If the participant(s) in that call have already authorized our app, then we can have a match for that user and perform our specific ML workflow.

  • This matching is where I am currently hung up, as the participant_joined callback via the SDK only provide a temporary meeting instance id for the user, which is not the same id we originally saved via the oauth workflow.

Hey @chuks ,

Try using the customer_key in the SDK, which passes through to the APIs, etc, so you can keep track of things.

https://marketplacefront.zoom.us/sdk/meeting/linux/structtag_join_param4_without_login.html#aa699b3578852bd8be41c2af820b579ff

CC @chunsiong.zoom

Best,
Tommy

Hi @tommy @chunsiong.zoom Can you tell me how this could work? I just checked customer_key in the Linux SDK, and it is set in the meeting join param ( tagJoinParam4WithoutLogin) when the bot is joining a meeting. In our workflow, users do not join zoom meetings via our app, so there is no way we can set this. The only entity that joins a meeting is our bot. We are trying to identify users that join a meeting where the bot is present. These users may have originally authorized our app, and if so, then we’d already have a record of their zoom id that the oauth workflow provided. It is this id that we are tying to retrieve when this user joins a meeting. Like I said earlier, the SDK only gives an id (and persistent id) for the user that is only valid for the duration of the meeting, so I have no way to matching this user with their id from the original oauth workflow.

Hey @chuks,

Checkout the Get User Report API and the user joined/left webhooks. You can use the IDs there to identify your users.


Best,
Tommy

Thanks @tommy . I checked those out. Looks like these are available via the Zoom API, but not the Linux Meeting SDK, which is what I am using. My code processes most of the workflow via the SDK, and the closest I’ve found is IUserInfo, which does not contain any of the permanent id’s that the API has.

Hey @chuks ,

Perhaps we should meet and I can help walk you through this flow.

Best,
Tommy

Thanks @tommy . Speak soon.