Private/New-ZoomHeaders.ps1
<# .SYNOPSIS Generate Zoom headers. .PARAMETER ApiKey The Zoom API key. .PARAMETER ApiSecret The Zoom API secret. .EXAMPLE $Headers = New-ZoomHeaders -Token $Token .OUTPUTS Generic dictionary. #> function New-ZoomHeaders { param ( [Parameter(Mandatory = $True)] [securestring]$Token ) Write-Verbose 'Generating Headers' if ($PSVersionTable.PSVersion.Major -ge 7) { $tokenStr = ConvertFrom-SecureString -SecureString $Token -AsPlainText } else { $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Token) $tokenStr = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) } $Headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $Headers.Add('content-type' , 'application/json') $Headers.Add('authorization', 'bearer ' + $tokenStr) if ($PSVersionTable.PSVersion.Major -lt 7) { # Clear plain string token. [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($BSTR) } Write-Output $Headers } |