Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Zoom #142

Open
damienalexandre opened this issue Dec 2, 2019 · 11 comments
Open

Add support for Zoom #142

damienalexandre opened this issue Dec 2, 2019 · 11 comments

Comments

@damienalexandre
Copy link
Member

Zoom is a big player in the entreprise chat eco-system now, and there ways to build apps for it:

https://marketplace.zoom.us/docs/guides

Investigations to be done!

@damienalexandre
Copy link
Member Author

Started to play with the API (branch WIP: https://github.com/jolicode/secret-santa/tree/zoomSupport). But I'm stuck because I don't understand how to add users, or just go to their "chat" app. Maybe I need a paid plan - that's not clear. Tried asking their support last week but got not answer:

Hello,

We would like to build an app based on Zoom API.
This app already support Slack and Discord, and it came to our attention that ZOOM is also providing a rich API and an enterprise chat application.

I created an account - with that email - and created an app (https://marketplace.zoom.us/develop/apps/REDACTED/credentials).
OAuth authentication is working and now I have some questions:

  • Is the "Chat" app accessible to basic accounts? I can't find it? https://zoom.us/feature/messaging
  • Can I add more users? It's only me right now and when I go in "manage users", my credit card is required;
  • Do you provide development account?

I would love to add Zoom support on our service for everyone to use, we even got a request from a potential user.

Thanks,
Damien

PS : It's a fun app that allows to throw Secret Santa inside a group / company, it's open source and free to use : https://secret-santa.team/ - but it works by sending a message to the user as a bot, so the "Zoom Chat" feature is kidda mandatory.

I would love to app ZOOM support for Secret Santa, but as Secret Santa is a non commercial and free application, I'm not going to pay a ZOOM licence on top of spending my free time adding functionalities 😋

@tommygaessler
Copy link

Hey @damienalexandre, here is a tutorial I wrote of how to build a Zoom Chatbot app: https://marketplace.zoom.us/docs/guides/chatbots/build-a-chatbot

Zoom Chat lives in the Desktop and Mobile Zoom Clients (apps) and is free: https://zoom.us/feature/messaging

You can add free basic users, or request a free trial to use pro features by reaching out to [email protected]

You don't need a developer account, as any Zoom user can use the App Marketplace and APIs.

For additional questions please reach out to [email protected] or post on devforum.zoom.us

@damienalexandre
Copy link
Member Author

Thanks @tommygaessler 👍 Thanks to your advice I managed to go a step forward. From the product page I had no idea I had to download a client app! 🙈

I'm sending an email to [email protected] because I have a bug to report 😉 But implementation is going wel except for markdown support 😨

@tommygaessler
Copy link

Hey @damienalexandre, happy to hear you are moving along with the Zoom Chatbot development process! We will work on making the download process easier / more clear.

@damienalexandre
Copy link
Member Author

Some references regarding #143

JID building

As a work around, you are correct in building the JID manually, in some cases in my Chatbot apps I have done the same.

So my solution should be ok.

Team name

There is no "team" in the v2/users/me API, so far I'm not able to get the team name. This is not a blocker. Using the account_id right now.

Messages sent to the Chat Bot

Same as Discord, I suggest we simply ignore them.

Markdown in message

The Linux client does not display markdown message correctly but they are still readable.

@damienalexandre
Copy link
Member Author

We need to clarify the User Extractor API we use. I get the feeling it's not the right one because I have some user in my Zoom Chat that are not listed by the app (they are "External" but anyway).

So far we use "/users".

https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users

This is what we use.

A Zoom account can have one or more users. Use this API to list users on your account.

https://marketplace.zoom.us/docs/api-reference/zoom-api/contacts/searchcompanycontacts

Use this API to search users that are in the company contacts of a Zoom account.

But it needs a Search parameter, no full listing.

https://marketplace.zoom.us/docs/api-reference/zoom-api/contacts/getusercontacts

A Zoom user can also add another Zoom user as a . Call this API to list all the contacts of a Zoom user. Zoom contacts are categorized into “company contacts” and “external contacts”. You must specify the contact type in the type query parameter. If you do not specify, by default, the type will be set as company contact.

It's looks very good.

@damienalexandre
Copy link
Member Author

So I tried using chat_contact:read but I cannot add it to a "Account level Oauth App".

Note: This API only supports user-managed OAuth Apps.

But user-managed OAuth Apps cannot have Chat Bot.

NICE API 👏 🔥

Also, looks like the scope we use at the moment are deprecated: https://marketplace.zoom.us/docs/deprecated-scopes

@damienalexandre
Copy link
Member Author

For future reference:

Having said that, I should note that the particular endpoint you're looking to use to list contacts only supports user-managed OAuth apps, as you suspected:
https://marketplace.zoom.us/docs/api-reference/zoom-api/contacts/getusercontacts

This means that if you wished to list a user's contacts, you would need two separate OAuth Apps (one account-level, one user-level). At the moment, we don't offer an account-level OAuth app/endpoint with this functionality.

However, this is feedback we've received before, and our team is actively working on expanding the flexibility of our OAuth apps/scopes to include the ability to have several different scopes (account and user level) under one app in the near future. While I don't have an exact timeline for this, it is something on our roadmap in the coming months.

For now, however, your exact use case would require two separate apps, which I realize is not very helpful. I will continue to advocate for this functionality internally, but please let me know if you have any other questions I can help with in the meantime.

@damienalexandre
Copy link
Member Author

As stated in the previous comments, Zoom API are just not providing the proper endpoints to implement Secret Santa right now.

So we are removing the app until we can fix something up: #246

@lyrixx
Copy link
Member

lyrixx commented Apr 29, 2022

Let's close this issue since Zoom API does not fit?

@damienalexandre
Copy link
Member Author

I'd like to keep it open, as this is still a needed enhancement and help is needed. Zoom API can improve, like #55 for example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants