zoom

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

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 NewClient

func NewClient(logger *log.Logger, config Config, options ...ClientOption) (*Client, error)

func NewClientFromFile

func NewClientFromFile(logger *log.Logger, path string, options ...ClientOption) (*Client, error)

func NewClientFromReader

func NewClientFromReader(logger *log.Logger, r io.Reader, options ...ClientOption) (*Client, error)

func (*Client) AccessToken added in v0.2.5

func (c *Client) AccessToken() string

func (*Client) Do

func (c *Client) Do(req *http.Request, decodeTo interface{}) (*http.Response, error)

func (*Client) HasCreds

func (c *Client) HasCreds() bool

func (*Client) ListRecordings

func (c *Client) ListRecordings(ctx context.Context, 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 (c *Client) NewApiRequest(ctx context.Context, method, uri string) (*http.Request, error)

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

func (c *Client) UpdateOauthRedirect(url string)

type ClientOption

type ClientOption func(*Client)

func CustomHTTPClientOption

func CustomHTTPClientOption(httpClient *http.Client) ClientOption

type Config

type Config struct {
	Id            string `json:"id"`
	Secret        string `json:"secret"`
	OauthRedirect string `json:"oauth_redirect"`
	ApiBaseUrl    string `json:"api_url"`
	AuthUrl       string `json:"auth_url"`
	TokenUrl      string `json:"token_url"`
}

type ListRecordingsResponse

type ListRecordingsResponse struct {
	From          string    `json:"from"`
	To            string    `json:"to"`
	PageCount     int       `json:"page_count"`
	PageSize      int       `json:"page_size"`
	TotalRecords  int       `json:"total_records"`
	NextPageToken string    `json:"next_page_token"`
	Meetings      []Meeting `json:"meetings"`
}

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"`
	ShareURL       string          `json:"share_url"`
	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)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL