Documentation
¶
Index ¶
- func NewCredentialsManager(path string) *credentialsManager
- type Client
- func (c *Client) Do(req *http.Request, decodeTo interface{}) (*http.Response, error)
- func (c *Client) HasCreds() bool
- func (c *Client) ListRecordings(since time.Time, nextPageToken string) (*ListRecordingsResponse, error)
- func (c *Client) NewApiRequest(method, uri string) (*http.Request, error)
- func (c *Client) OauthHandler() func(w http.ResponseWriter, r *http.Request)
- func (c *Client) OauthRedirect(w http.ResponseWriter, r *http.Request)
- func (c *Client) UpdateOauthRedirect(url string)
- type ClientOption
- type Config
- type ListRecordingsResponse
- type Meeting
- type RecordingFile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCredentialsManager ¶
func NewCredentialsManager(path string) *credentialsManager
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClientFromFile ¶
func NewClientFromReader ¶
func (*Client) ListRecordings ¶
func (c *Client) ListRecordings(since time.Time, nextPageToken string) (*ListRecordingsResponse, error)
TODO: accept ListRecordingsRequest TODO: allow setting "to" to address > 30 day spans https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingslist
func (*Client) NewApiRequest ¶
func (*Client) OauthHandler ¶
func (c *Client) OauthHandler() func(w http.ResponseWriter, r *http.Request)
func (*Client) OauthRedirect ¶
func (c *Client) OauthRedirect(w http.ResponseWriter, r *http.Request)
func (*Client) UpdateOauthRedirect ¶
type ClientOption ¶
type ClientOption func(*Client)
func CustomHTTPClientOption ¶
func CustomHTTPClientOption(httpClient *http.Client) ClientOption
type ListRecordingsResponse ¶
type Meeting ¶
type Meeting struct {
UUID string `json:"uuid"`
ID int64 `json:"id"`
AccountID string `json:"account_id"`
HostID string `json:"host_id"`
Topic string `json:"topic"`
Type int `json:"type"`
StartTime time.Time `json:"start_time"`
Timezone string `json:"timezone"`
Duration int `json:"duration"`
TotalSize int `json:"total_size"`
RecordingCount int `json:"recording_count"`
RecordingFiles []RecordingFile `json:"recording_files"`
}
type RecordingFile ¶
type RecordingFile struct {
ID string `json:"id,omitempty"`
MeetingID string `json:"meeting_id"`
RecordingStart string `json:"recording_start"`
RecordingEnd string `json:"recording_end"`
FileType string `json:"file_type"`
FileSize int `json:"file_size,omitempty"`
PlayURL string `json:"play_url,omitempty"`
DownloadURL string `json:"download_url"`
Status string `json:"status,omitempty"`
RecordingType string `json:"recording_type,omitempty"`
}
TODO: RecordingStart RecordingEnd time.Time (currently can be empty and blows up unmarshal)
Click to show internal directories.
Click to hide internal directories.