Skip to content

W-J-Dev-School/Zoom-SDK-Rob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zoom Windows Software Development Kit (SDK)

Table of Contents

Latest SDK News

  1. Starting from 5.2.41727.0928, the Windows SDK requires building with Visual Studio 2019.

  2. If you would like to run the Windows SDK demo app directly, you may install the VS2019 x86 runtime library(vc_redist_x86.exe) from the following:

  3. Starting from Client SDK 5.0, if you are using tokens to start a meeting, you will only need to retrieve ZAK from Zoom API. The user token has been deprecated.

  4. To follow with Zoom client's recent changes, Zoom SDK has temporary remove the "Unmute All" interface in Client SDK 5.0.

  5. To align with Zoom’s recent announcement pertaining to our security initiative, Zoom Client SDKs have added AES 256-bit GCM encryption support, which provides more protection for meeting data and greater resistance to tampering. The system-wide account enablement of AES 256-bit GCM encryption will take place on June 01, 2020. You are strongly recommended to start the required upgrade to this latest version 4.6.21666.0428 at your earliest convenience. Please note that any Client SDK versions below 4.6.21666.0428 will no longer be operational from June 01.

  6. Starting from 4.6.15798.0403, all DLL files(*.dll) and EXE files(*.exe) cannot be re-signed. Please DO NOT re-sign or assign new digital signature to those files as assigning new digital signature on these files could lead to fatal errors.

  7. Our Zoom SDK and Zoom Client share some common resources in the OS, in order to allow Zoom client and Zoom client SDK app work at the same time, since v4.4.56616.1028, we renamed the filename of the following shared resources:

  • CptHost.exe -> zcscpthost.exe
  • airhost.exe -> zcsairhost.exe
  • CptService.exe -> zCSCptService.exe
  1. If you are using SDK versions before 4.6.15798.0403, kindly advise that please do not re-sign / assign new digital signature to the following files as assigning new digital signature on these files could lead to fatal errors:
    • CptControl.exe
    • CptInstall.exe
    • CptHost.exe / zcscpthost.exe
    • airhost.exe / zcsairhost.exe
    • CptService.exe / zCSCptService.exe
    • CptShare.dll
    • zzhost.dll
    • zzplugin.dll(Deprecated since v4.6.15074.0203)
    • aomhost64.exe
    • zCrashReport.dll
    • libeay32.dll
    • ssleay32.dll

Full Documentation && Community Support

You can find the full Zoom Windows SDK documentation and the community support forum here:

What is Zoom Windows SDK?

Zoom SDK makes it easy to integrate Zoom with your Windows applications, and boosts up your applications with the power of Zoom.

  • Easy to use: Our SDK is built to be easy to use. Just import the libraries, call a few functions, and we will take care all video conferencing related stuffs for you.
  • Localizable: Our SDK naturally supports multiple major languages, and you can add more to grow your applications internationally.
  • Custom Meeting UI: If you want to add your own decorations to your Zoom meeting rooms, try our Custom UI feature to make your meeting room special.

Disclaimer

Please be aware that all hard-coded variables and constants shown in the documentation and in the demo, such as Zoom Token, Zoom Access, Token, etc., are ONLY FOR DEMO AND TESTING PURPOSES. We STRONGLY DISCOURAGE the way of HARDCODING any Zoom Credentials (username, password, API Keys & secrets, SDK keys & secrets, etc.) or any Personal Identifiable Information (PII) inside your application. WE DON’T MAKE ANY COMMITMENTS ABOUT ANY LOSS CAUSED BY HARD-CODING CREDENTIALS OR SENSITIVE INFORMATION INSIDE YOUR APP WHEN DEVELOPING WITH OUR SDK.

Getting Started

The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Before you try out our SDK, you would need the following to get started:

  • A Zoom Account: If you do not have one, you can sign up at https://zoom.us/signup.
  • A device with Windows OS:
    • OS: Windows XP or later. Currently Windows 10 UWP is not supported.
    • Visual Studio 2019

Installing

Clone or download a copy of our SDK files from GitHub. After you unzipped the file, you should have the following folders:

.
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── bin
├── h
├── lib
├── [sdk_demo] <-- demo app is inside
└── version.txt

Launch your Visual Studio, locate the sdk_demo.vcproj file, and open it.

The DemoUI.cpp file includes a high-level application which you can reference to understand how to call the stack functions and register call backs.

The Zoom SDK runs as a DLL in the context of the calling application process.

Initializing SDK with JWT token

When initializing the SDK, you will need to compose a JWT token using your SDK key & secret.

  • How to compose JWT token for SDK initialization

You may generate your JWT token using the online tool https://jwt.io/. It is highly recommended to generate your JWT token in your backend server.

JWT is generated with three core parts: Header, Payload, and Signature. When combined, these parts are separated by a period to form a token: aaaaa.bbbbb.cccc.

Please follow this template to compose your payload for SDK initialization:

** Header

{
  "alg": "HS256",
  "typ": "JWT"
}

** Payload

{
         "appKey": "string",     // Your SDK key
         "iat": long,   // access token issue timestamp (unit: second)
         "exp": long,  // access token expire timestamp, MAX: iat + 2 days (unit: second)
         "tokenExp": long // token expire timestamp, MIN:iat + 30 minutes (unit: second)
}

The minimum value of tokenExp should be at least 30 minutes, otherwise, SDK will reject the authentication request. ** Signature

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  "Your SDK secret here"
)

You do not need to secret base64 encoded your signature. Once the JWT token is generated, please do not reveal it or publish it. It is highly recommended to handle your SDK key and secret and generate JWT in a backend server to be consumed by your application. Do not generate JWT in a production application.

Documentation

Please visit [https://marketplace.zoom.us/docs/sdk/native-sdks/windows] for details of each features and functions.

Navigating SDK sample files

The following table provides the link to the implementation of each features in our demo app:

UI mode Feature Corresponding sample files
Essential features SDK Initialization & Authentication * sdk_init_auth_ui.cpp
* init_auth_sdk_workflow.cpp
* sdk_util.cpp
Authenticate with Zoom REST API and start a meeting as API user * zoomHmacSHA256.cpp
* httpRequestHelper.cpp
* login_sdk_login_UI.cpp
* login_restapi_without_login_workflow.cpp
Login with email & password * login_sdk_login_UI.cpp
* login_login_with_email_workflow.cpp
Login with SSO token * login_sdk_login_UI.cpp
* login_login_with_sso_workflow.cpp
Start an instant meeting(For Logged-in user) * loggedIn_sdk_controller.cpp
* loggedIn_sdk_controller_workflow.cpp
Join a meeting * join_meeting_for_login_user_ui.cpp
* join_meeting_for_login_user_workflow.cpp
* login_join_meeting_only_workflow.cpp
* sdk_util.cpp
Schedule a meeting (For logged-in user) * schedule_meeting_ui.cpp
* schedule_meeting_workflow.cpp
User management * user_manager.cpp
Settings * settings_ui.cpp
* settings_audio_workflow.cpp
* settings_feature_custom_workflow.cpp
* settings_general_workflow.cpp
* settings_recording_workflow.cpp
* settings_ui_custom_workflow.cpp
* settings_video_workflow.cpp
* settings_virtualBG_workflow.cpp
Invitation * invitation_ui.cpp
* invitation_workflow.cpp
Custom UI Basic UI management * custom_ui_mgr.cpp
* custom_ui_mgr_flow.cpp
Video * custom_ui_video_flow.cpp
* custom_ui_video_mgr.cpp
Share * custom_ui_share_flow.cpp
* custom_ui_share_mgr.cpp
Annotation * annotateBarWindow.cpp
* annotateClearWindow.cpp
* annotateDrawWindow.cpp
* annotateFormatWindow.cpp
* annotateSplotlightWindow.cpp
* annotateStampWindow.cpp
Arrow * arrow_window.cpp
Camera Control * cameraControlWindow.cpp
Recording * customizedUIRecordMgr.cpp
Share Toolbar * shareToolbarWindow.cpp
View Options * viewOptionsWindow.cpp
Chat * chat_controller_ui.cpp
* chat_controller_workflow.cpp
Close caption * close_caption_ui.cpp
* close_caption_workflow.cpp
Dial-in country * dial_in_country_ui.cpp
Display CC * display_cc_ui.cpp
Participant UI * participant_ui.cpp
Participant pop up menu * participantPopMenu.cpp
More features * more_features_ui.cpp
* more_features_workflow.cpp
More menu * more_menu_ui.cpp
Toolbar * toolbar_bottom_ui.cpp
* toolbar_bottom_workflow.cpp
* toolbar_manager.cpp

SDK Reference

You may find the SDK interface reference at https://marketplace.zoom.us/docs/sdk/native-sdks/windows/sdk-reference. If you would like to get a local copy of the SDK reference, you may download it here.

Versioning

For the versions available, see the tags on this repository.

Change log

Please refer to our CHANGELOG for all changes.

Frequently Asked Questions (FAQ)

  • 1️⃣ Getting ERROR Code: 105035 while using Windows SDK:

    • In most of the cases, this is caused by resigning or adding new signature to the SDK DLL files(*.dll) and EXE files(*.exe)

    Please skip signing / do not add any new signatures to the DLL files(*.dll) and EXE files(*.exe). If the error code appears even if the files are not being re-signed, please visit our Zoom Developer Community Forum and seek help.

  • Please visit our Zoom Developer Community Forum for further assistance.

Support

For any issues regarding our SDK, please visit our new Community Support Forum at https://devforum.zoom.us/.

License

Use of this software is subject to important terms and conditions as set forth in the License file

Please refer to LICENSE.pdf file for details

Acknowledgments

  • ⭐ If you like our SDK, please give us a "Star". Your support is what keeps us moving forward and delivering happiness to you! Thanks a million! 😃
  • If you need any support or assistance, we are here to help you: Zoom Developer Community Forum;

Copyright ©2020 Zoom Video Communications, Inc. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages