forked from zoom-lib-golang/zoom-lib-golang
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmeeting_create.go
More file actions
37 lines (32 loc) · 1.4 KB
/
meeting_create.go
File metadata and controls
37 lines (32 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package zoom
import "fmt"
// CreateMeetingOptions are the options to create a meeting with
type CreateMeetingOptions struct {
HostID string `json:"-"`
Topic string `json:"topic,omitempty"`
Type MeetingType `json:"type,omitempty"`
StartTime *Time `json:"start_time,omitempty"`
Duration int `json:"duration,omitempty"`
Timezone string `json:"timezone,omitempty"`
Password string `json:"password,omitempty"` // Max 10 characters. [a-z A-Z 0-9 @ - _ *]
Agenda string `json:"agenda,omitempty"`
TrackingFields []TrackingField `json:"tracking_fields,omitempty"`
Settings MeetingSettings `json:"settings,omitempty"`
}
// CreateMeetingPath - v2 create a meeting for a user
const CreateMeetingPath = "/users/%s/meetings"
// CreateMeeting calls POST /users/{userId}/meetings
func CreateMeeting(opts CreateMeetingOptions) (Meeting, error) {
return defaultClient.CreateMeeting(opts)
}
// CreateMeeting calls POST /users/{userId}/meetings
// https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate
func (c *Client) CreateMeeting(opts CreateMeetingOptions) (Meeting, error) {
var ret = Meeting{}
return ret, c.requestV2(requestV2Opts{
Method: Post,
Path: fmt.Sprintf(CreateMeetingPath, opts.HostID),
DataParameters: &opts,
Ret: &ret,
})
}