Documentation ¶
Index ¶
- func NewCredentialsManager(path string) *credentialsManager
- type Client
- func (c *Client) AccessToken() string
- func (c *Client) Do(req *http.Request, decodeTo interface{}) (*http.Response, error)
- func (c *Client) HasCreds() bool
- func (c *Client) ListRecordings(ctx context.Context, since time.Time, nextPageToken string) (*ListRecordingsResponse, error)
- func (c *Client) NewApiRequest(ctx context.Context, 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) AccessToken ¶ added in v0.2.5
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 (*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.