Coder Social home page Coder Social logo

josephmcevoy / pszoom Goto Github PK

View Code? Open in Web Editor NEW
82.0 8.0 26.0 2.68 MB

A PowerShell wrapper to interface with Zoom's API (Zoom Video Communications).

License: GNU General Public License v3.0

PowerShell 100.00%
cmdlet powershell-wrapper zoom api powershell powershell-module

pszoom's Introduction

Build status

PSZoom

PSZoom is a Powershell wrapper to interface with Zoom's API (Zoom Video Communications). The module wraps many API calls from Zoom's API v2 documentation. You can find Zoom's documentation at https://marketplace.zoom.us/docs/api-reference/zoom-api. PSZoom is not an official module.

Cmdlets are named with approved Powershell verbs but keeping to as close to Zoom's API reference as possible. For example, Zoom has two API calls that they named "List User Assistants" and "Update Zoom Meeting". In PSZoom they are named Get-ZoomUserAssistants and Update-ZoomMeeting, respectively. In general, each cmdlet has associated help which includes a link (found under .LINK) to the API call that it is wrapping.

Zoom has a rate limit that varies depending on your account and the type of request. If you're making too many requests, the cmdlet will automatically retry after one second.

Getting started

Using PowershellGallery

Install-Module PSZoom
Import-Module PSZoom

Using Git

Clone the repository.

git clone "https://github.com/JosephMcEvoy/PSZoom.git"

Place directory into a module directory (e.g. $env:USERPROFILE\Documents\WindowsPowerShell\Modules).

Move-Item -path ".\pszoom\pszoom" -Destination "$env:USERPROFILE\Documents\WindowsPowerShell\Modules"

Import the module.

Import-Module PSZoom

Using your API key and API secret

All commands require a Client ID and Client Secret. As of PSZoom 2.0, PSZoom only supports Server-to-Server OAuth authorization. You can generate the Server-to-Server OAuth key/secret from https://marketplace.zoom.us/develop/create, then click on 'Create' under Server-to-Server OAuth.

Example script

import-module PSZoom
Connect-PSZoom -AccountID 'account_id' -ClientID 'client_id' -ClientSecret 'secret'
Get-ZoomMeeting 123456789

Available functions

Use get-help for more information about each function.

Cloud Recordings

Get-ZoomAccountRecordings
Get-ZoomAccountRecordings
Get-ZoomMeetingCloudRecordings
Remove-ZoomMeetingRecordingFile
Remove-ZoomMeetingRecordings
Show-ZoomRecordings

Groups

Add-ZoomGroupMember
Get-ZoomGroup
Get-ZoomGroupLockSettings
Get-ZoomGroupMembers
Get-ZoomGroups
Get-ZoomGroupSettings
New-ZoomGroup
Remove-ZoomGroup
Remove-ZoomGroupMembers
Update-ZoomGroup
Update-ZoomGroupLockSettings
Update-ZoomGroupSettings

Meetings

Add-ZoomRegistrant
Get-ZoomEndedMeetingInstances
Get-ZoomMeeting
Get-ZoomMeetingCloudRecordings
Get-ZoomMeetingInvitation
Get-ZoomMeetingPoll
Get-ZoomMeetingPolls
Get-ZoomMeetingRegistrants
Get-ZoomMeetingsFromUser
Get-ZoomPastMeetingDetails
Get-ZoomPastMeetingParticipants
Get-ZoomPastMeetingParticipantsMetrics
Get-ZoomPersonalMeetingRoomName
New-ZoomMeeting
New-ZoomMeetingPoll
New-ZoomMeetingPollQuestion
Remove-ZoomMeeting
Remove-ZoomMeetingPoll
Update-MeetingStatus
Update-ZoomMeeting
Update-ZoomMeetingLiveStream
Update-ZoomMeetingLiveStream
Update-ZoomMeetingLiveStreamStatus
Update-ZoomMeetingPoll
Update-ZoomMeetingRegistrantStatus
Update-ZoomMeetingRegistrationQuestions
Update-ZoomMeetingStatus

Phones

Get-ZoomPhoneCallingPlan
Get-ZoomPhoneNumber
Get-ZoomPhoneProvisioingTemplate

Common Area Phones

Add-ZoomPhoneCommonAreaCallingPlan
Add-ZoomPhoneCommonAreaNumber
Get-ZoomPhoneCommonArea
Get-ZoomPhoneCommonAreaSettings
New-ZoomPhoneCommonArea
Remove-ZoomPhoneCommonArea
Remove-ZoomPhoneCommonAreaCallingPlan
Remove-ZoomPhoneCommonAreaNumber
Update-ZoomPhoneCommonArea

Desk Phones

Add-ZoomPhoneDeviceAssignee
Get-ZoomPhoneDevice
Invoke-ZoomPhoneDeviceReboot
New-ZoomPhoneDevice
Remove-ZoomPhoneDevice
Remove-ZoomPhoneDeviceAssignee
Update-ZoomPhoneDevice
Update-ZoomPhoneDeviceProvisioningTemplate

User Phones

Add-ZoomPhoneUserCallingPlan
Add-ZoomPhoneUserNumber
Get-ZoomPhoneUser
Get-ZoomPhoneUserSettings
New-ZoomPhoneUser
Remove-ZoomPhoneUserCallingPlan
Remove-ZoomPhoneUserNumber
Update-ZoomPhoneUser
Update-ZoomPhoneUserCallingPlan
Update-ZoomPhoneUserSettings

Phone Sites

Get-ZoomPhoneSite
Get-ZoomPhoneSettingTemplate
Get-ZoomPhoneSiteEmergencyAddress

Reports

Get-ZoomActiveInactiveHostReports
Get-ZoomDailyUsageReport
Get-ZoomMeetingParticipantsReport
Get-ZoomRegistrationQuestions
Get-ZoomTelephoneReports
Get-ZoomWebinarDetailsReport
Get-ZoomWebinarParticipantsReport

Rooms

Get-ZoomRooms
Get-ZoomRoomsDashboard
Get-ZoomRoomDevices
Get-ZoomRoomLocations
Disconnect-ZoomRoomMeeting
New-ZoomRoomInvite
New-ZoomRoomMeeting
Remove-ZoomRoomMeeting
Restart-ZoomRoom
Remove-ZoomRoomMeeting
Stop-ZoomRoomMeeting

Users

Add-ZoomUserAssistants
Get-ZoomUser
Get-ZoomUserEmailStatus
Get-ZoomUserPermissions
Get-ZoomUserSchedulers
Get-ZoomUserSettings
Get-ZoomUserToken
New-ZoomUser
Remove-ZoomSpecificUserAssistant
Remove-ZoomSpecificUserScheduler
Remove-ZoomUser
Remove-ZoomUserAssistants
Remove-ZoomUserSchedulers
Revoke-ZoomUserSsoToken
Update-ZoomProfilePicture
Update-ZoomUser
Update-ZoomUserEmail
Update-ZoomUserpassword
Update-ZoomUserSettings
Update-ZoomUserStatus

Webinars

Get-ZoomWebinar
Get-ZoomWebinarsFromUser
Get-ZoomWebinarPanelists

Utility

Invoke-ZoomRetMethod
Join-ZoomPages
New-ZoomApiToken

Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/FeatureName)
  3. Commit your Changes (git commit -m 'Add some Feature')
  4. Push to the Branch (git push origin feature/FeatureName)
  5. Open a Pull Request

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.