Documentation ¶
Index ¶
- Constants
- Variables
- func GetHttpClient() *http.Client
- func NewRequest(method, url, body string, meeting Meeting) (*http.Request, error)
- func PrintResponseJsonString(response MeetingResponse) string
- type KeyValuePair
- type Meeting
- type MeetingCancelRequest
- type MeetingCreateRequest
- type MeetingCreateResponse
- type MeetingError
- type MeetingErrorResponse
- type MeetingInfo
- type MeetingParticipants
- type MeetingQueryByCodeRequest
- type MeetingQueryByIDRequest
- type MeetingQueryInfo
- type MeetingQueryParticipantsRequest
- type MeetingQueryParticipantsResponse
- type MeetingQueryResponse
- type MeetingQueryUserListMeetingInfo
- type MeetingQueryUserMeetingListRequest
- type MeetingQueryUserMeetingListResponse
- type MeetingRequest
- type MeetingRequestDescriptor
- type MeetingResponse
- type MeetingUpdateRequest
- type MeetingUpdateResponse
- type Pager
- type QueryValues
- type Request
- type Settings
- type SimplifiedMeetingInfo
- type UserCreateRequest
- type UserDeleteRequest
- type UserDetail
- type UserDetailQueryRequest
- type UserDetailQueryResponse
- type UserDetailUpdateRequest
- type UserInfo
- type UserListRequest
- type UserListResponse
- type UserObj
- Bugs
Constants ¶
View Source
const ( DisableRegistered = iota EnableRegistered )
企业用户管理
View Source
const ( MeetingRoleCreator = "creator" // 创建者 MeetingRoleHoster = "hoster" // 主持人 MeetingRoleInvitee = "invitee" // 被邀请者 )
会议角色
View Source
const ( MeetingTypeBookingMeeting = iota // 预约会议类型 MeetingTypeQuickMeeting // 快速会议类型 )
会议类型
View Source
const ( InstancePC = iota + 1 InstanceMac InstanceAndroid InstanceIOS InstanceWeb InstanceIPad InstanceAndroidPad InstanceMicroProgram )
设备类型
View Source
const ( ErrTinyIdOrMeetingId = 9002 ErrMeetingNotExists = 9003 ErrMeetingCreateExceed = 9008 ErrMeetingQueryExceed = 9061 ErrApiCallUnknownType = 10000 ErrApiCallBadParameter = 10001 ErrAppVersionForbidden = 10005 ErrUserAlreadyExists = 20002 ErrInvalidPhone = 40000 ErrInvalidEmail = 41001 ErrEmailUsed = 41002 ErrPhoneUsed = 41003 ErrCorpID = 50000 ErrXTcTimestamp = 190300 ErrRequestReplay = 190301 ErrUnauthenticatedSecret = 190303 ErrCallMinuteExceed = 190310 ErrCallDayExceed = 190311 ErrCallParticularDayExceed = 190312 ErrApiRequiredInfoNotFound = 200001 ErrApiReplay = 200002 ErrApiBadSignature = 200003 ErrApiNotSupportRequest = 200004 ErrJsonSchemeInvalid = 200005 ErrApiBadRequestParameter = 200006 )
错误码
View Source
const ( MeetingStateInvalid = "MEETING_STATE_INVALID" // 非法或未知的会议状态,错误状态 MeetingStateInit = "MEETING_STATE_INIT" // 会议的初始状态,表示还没有人入会 MeetingStateCancelled = "MEETING_STATE_CANCELLED" // 会议已取消 MeetingStateStarted = "MEETING_STATE_STARTED" // 会议已开始,有人入会 MeetingStateEnded = "MEETING_STATE_ENDED" // 会议已结束 MeetingStateRecycled = "MEETING_STATE_RECYCLED" // 会议号已被回收 MeetingStateNull = "MEETING_STATE_NULL" // 未知状态 )
会议状态
View Source
const (
ApiHost = "https://api.meeting.qq.com/v1"
)
Entrance
Variables ¶
View Source
var ( RequestDescriptorMeetingCreate = MeetingRequestDescriptor{"/meetings", "POST", "Create"} RequestDescriptorMeetingQueryByID = MeetingRequestDescriptor{"/meetings/%s", "GET", "ID"} RequestDescriptorMeetingQueryByCode = MeetingRequestDescriptor{"/meetings", "GET", "Code"} RequestDescriptorMeetingCancelByID = MeetingRequestDescriptor{"/meetings/%s/cancel", "POST", "CANCEL"} RequestDescriptorMeetingUpdateByID = MeetingRequestDescriptor{"/meetings/%s", "PUT", "UPDATE"} RequestDescriptorMeetingQueryParticipantsByID = MeetingRequestDescriptor{"/meetings/%s/participants", "GET", "QUERY"} RequestDescriptorMeetingQueryUserMeetingList = MeetingRequestDescriptor{"/meetings", "GET", "QUERY_MEETING_LIST"} RequestDescriptorUserCreate = MeetingRequestDescriptor{"/users", "POST", "Create"} RequestDescriptorUserDetailQuery = MeetingRequestDescriptor{"/users/%s", "GET", "QUERY"} RequestDescriptorUserUpdate = MeetingRequestDescriptor{"/users/%s", "PUT", "UPDATE"} RequestDescriptorUserDelete = MeetingRequestDescriptor{"/users/%s", "DELETE", "DELETE"} RequestDescriptorUserList = MeetingRequestDescriptor{"/users/list", "GET", "QUERY"} )
API LIST
Functions ¶
func GetHttpClient ¶
func PrintResponseJsonString ¶
func PrintResponseJsonString(response MeetingResponse) string
Types ¶
type KeyValuePair ¶
type Meeting ¶
type Meeting struct { SecretKey string SecretID string AppID string SdkID string Version string // 软件版本,用于调试 Registered int // 企业用户管理,最好开,否则主持人的功能用不了 }
func (Meeting) Do ¶
func (meeting Meeting) Do(req MeetingRequest) (MeetingResponse, error)
type MeetingCancelRequest ¶
type MeetingCancelRequest struct { MeetingID string `json:"-" param:"meeting_id"` // 会议的唯一 ID。 UserID string `json:"userid"` // 调用方用于标示用户的唯一 ID InstanceID int `json:"instanceid"` // 用户的终端设备类型 ReasonCode int `json:"reason_code"` // 原因代码,可为用户自定义 ReasonDetail string `json:"reason_detail,omitempty"` // 详细取消原因描述。 }
取消会议
type MeetingCreateRequest ¶
type MeetingCreateRequest struct { UserID string `json:"userid"` // 调用方用于标示用户的唯一 ID InstanceID int `json:"instanceid"` // 用户的终端设备类型 Subject string `json:"subject"` // 会议主题 Hosts []*UserObj `json:"hosts,omitempty"` // 会议主持人的用户 ID,如果没有指定,主持人被设定为参数 userid 的用户,即 API 调用者。 Type int `json:"type"` // 会议类型 Invitees []*UserObj `json:"invitees,omitempty"` // 会议邀请的参会者,可为空 StartTime string `json:"start_time"` // 会议开始时间戳(单位秒)。 EndTime string `json:"end_time"` // 会议结束时间戳(单位秒)。 Password string `json:"password,omitempty"` // 会议密码,可不填 Settings *Settings `json:"settings,omitempty"` // 会议设置 }
创建会议
type MeetingCreateResponse ¶
type MeetingCreateResponse struct { NextPos int `json:"next_pos"` Remaining int `json:"remaining"` MeetingNumber int `json:"meeting_number"` // 会议数量 MeetingCreationInfo []*MeetingInfo `json:"meeting_info_list"` // 预约会议列表 }
type MeetingError ¶
func (MeetingError) Error ¶
func (e MeetingError) Error() string
type MeetingErrorResponse ¶
type MeetingErrorResponse struct { StatusCode int `json:"-"` ErrorInfo *MeetingError `json:"error_info"` }
type MeetingInfo ¶
type MeetingInfo struct { MeetingID string `json:"meeting_id"` // 会议的唯一标示 MeetingCode string `json:"meeting_code"` // 会议 App 的呼入号码 Subject string `json:"subject"` // 会议主题 Hosts []*UserObj `json:"hosts,omitempty"` // 会议主持人的用户 ID,如果没有指定,主持人被设定为参数 userid 的用户,即 API 调用者。 Participants []*UserObj `json:"participants,omitempty"` // 会议邀请的参会者,可为空 StartTime string `json:"start_time"` // 会议开始时间戳(单位秒)。 EndTime string `json:"end_time"` // 会议结束时间戳(单位秒)。 Password *string `json:"password,omitempty"` // 会议密码,可不填 JoinUrl string `json:"join_url"` // 加入会议 URL(点击链接直接加入会议) Settings *Settings `json:"settings,omitempty"` // 会议设置 }
会议信息
type MeetingParticipants ¶
type MeetingParticipants struct { UserID string `json:"userid"` // 参会者用户 ID。 Base64EncodedUsername string `json:"user_name"` // 入会用户名(base64) SHA256HashedPhone string `json:"phone"` // 参会者手机号 hash 值 SHA256(手机号/secretid)。 JoinTime string `json:"join_time"` // 参会者加入会议时间戳(单位秒)。 LeftTime string `json:"left_time"` // 参会者离开会议时间戳(单位秒)。 }
参会人员信息
type MeetingQueryByCodeRequest ¶
type MeetingQueryByCodeRequest struct { MeetingCode string `json:"-" query:"meeting_code"` UserID string `json:"-" query:"userid"` InstanceID int `json:"-" query:"instanceid"` }
通过Code获取会议信息
BUG(hafrans) 腾讯会议API接口报错,不知道什么问题,本地HTTP抓包未发现异常。
type MeetingQueryByIDRequest ¶
type MeetingQueryByIDRequest struct { MeetingID string `param:"meeting_id"` UserID string `query:"userid"` InstanceID int `query:"instanceid"` }
通过会议ID获取会议信息
type MeetingQueryInfo ¶
type MeetingQueryInfo struct { MeetingInfo Status string `json:"status"` // 当前会议状态 }
带状态的会议信息
type MeetingQueryParticipantsRequest ¶
type MeetingQueryParticipantsRequest struct { MeetingID string `param:"meeting_id"` UserID string `query:"userid"` }
MeetingQueryParticipantsRequest 会议拥有者获取某指定会议的参与人员列表。只有会议的拥有者即创建者可以查询参会成员的列表。其他用 户的调用会被拒绝。如果会议还未开始,调用此接口查询会返回空列表。
type MeetingQueryParticipantsResponse ¶
type MeetingQueryParticipantsResponse struct { MeetingID string `json:"meeting_id"` // 会议的唯一 ID MeetingCode string `json:"meeting_code"` // 会议号码 Subject string `json:"subject"` // 会议主题 ScheduleStartTime string `json:"schedule_start_time"` // 预定会议开始时间戳(单位秒) ScheduleEndTime string `json:"schedule_end_time"` // 预定会议结束时间戳(单位秒) Participants []*MeetingParticipants `json:"participants"` // 参会人员对象数组。 HasRemaining bool `json:"has_remaining"` }
type MeetingQueryResponse ¶
type MeetingQueryResponse struct { NextPos int `json:"next_pos"` Remaining int `json:"remaining"` MeetingNumber int `json:"meeting_number"` // 会议数量 MeetingInfoList []*MeetingQueryInfo `json:"meeting_info_list"` // 会议列表 }
type MeetingQueryUserListMeetingInfo ¶
type MeetingQueryUserListMeetingInfo struct { MeetingID string `json:"meeting_id"` // 会议的唯一标示 MeetingCode string `json:"meeting_code"` // 会议 App 的呼入号码 Subject string `json:"subject"` // 会议主题 Hosts []*UserObj `json:"hosts,omitempty"` // 会议主持人的用户 ID,如果没有指定,主持人被设定为参数 userid 的用户,即 API 调用者。 StartTime string `json:"start_time"` // 会议开始时间戳(单位秒)。 EndTime string `json:"end_time"` // 会议结束时间戳(单位秒)。 JoinMeetingRole string `json:"join_meeting_role"` // 查询者在会议中的角色 }
查询用户的会议列表中会议对象
type MeetingQueryUserMeetingListRequest ¶
type MeetingQueryUserMeetingListRequest struct { UserID string `query:"userid"` InstanceID int `query:"instanceid"` }
获取某指定用户的会议列表
type MeetingQueryUserMeetingListResponse ¶
type MeetingQueryUserMeetingListResponse struct { NextPos int `json:"next_pos"` Remaining int `json:"remaining"` MeetingNumber int `json:"meeting_number"` MeetingInfoList []*MeetingQueryUserListMeetingInfo `json:"meeting_info_list"` }
type MeetingRequest ¶
type MeetingRequest interface {
// contains filtered or unexported methods
}
MeetingRequest interface
type MeetingRequestDescriptor ¶
Describe A Request
type MeetingResponse ¶
type MeetingResponse interface { }
type MeetingUpdateRequest ¶
type MeetingUpdateRequest struct { MeetingID string `json:"-" param:"meeting_id"` UserID string `json:"userid"` // 调用方用于标示用户的唯一 ID InstanceID int `json:"instanceid"` // 用户的终端设备类型 Subject string `json:"subject"` // 会议主题 Hosts []*UserObj `json:"hosts,omitempty"` // 会议主持人的用户 ID,如果没有指定,主持人被设定为参数 userid 的用户,即 API 调用者。 Invitees []*UserObj `json:"invitees,omitempty"` // 会议邀请的参会者,可为空 StartTime string `json:"start_time,omitempty"` // 会议开始时间戳(单位秒)。 EndTime string `json:"end_time,omitempty"` // 会议结束时间戳(单位秒)。 Password string `json:"password,omitempty"` // 会议密码,可不填,修改会议接口只支持对有密码会议的密码修改,暂不支持取消会议密码。 Settings *Settings `json:"settings,omitempty"` // 会议设置,不修改就不填写 }
MeetingUpdateRequest 修改某指定会议的会议信息
type MeetingUpdateResponse ¶
type MeetingUpdateResponse struct { NextPos int `json:"next_pos"` Remaining int `json:"remaining"` MeetingNumber int `json:"meeting_number"` // 会议数量 MeetingInfoList []*SimplifiedMeetingInfo `json:"meeting_info_list"` // 会议列表 }
type QueryValues ¶
type QueryValues []*KeyValuePair
func NewQueryValues ¶
func NewQueryValues() QueryValues
func (*QueryValues) Add ¶
func (v *QueryValues) Add(key, value string)
func (*QueryValues) Encode ¶
func (v *QueryValues) Encode() string
type Request ¶
type Request struct { Method string URL *url.URL Secret string Body string Key string `json:"X-TC-Key"` Timestamp int64 `json:"X-TC-Timestamp"` Nonce int `json:"X-TC-Nonce"` Signature string `json:"X-TC-Signature"` AppID string `json:"AppId"` SdkID string `json:"SdkId"` Version string `json:"X-TC-Version"` Registered int `json:"X-TC-Registered"` ContentType string `json:"Content-Type"` ContentLength string `json:"Content-Length"` }
RequestBody Descriptor
type Settings ¶
type Settings struct { MuteEnableJoin bool `json:"mute_enable_join"` // 入会时静音 AllowUnmuteSelf bool `json:"allow_unmute_self"` // 允许参会者取消静音 MuteAll bool `json:"mute_all,omitempty"` // 全体静音 HostVideo bool `json:"host_video,omitempty"` // 入会时主持人视频是否开启,暂时不支持。 ParticipantVideo bool `json:"participant_video,omitempty"` // 入会时参会者视频是否开启,暂时不支持。 EnableRecord bool `json:"enable_record,omitempty"` // 开启录播,暂时不支持。 PlayIVROnLeave bool `json:"play_ivr_on_leave,omitempty"` // 参会者离开时播放提示音。 PlayIVROnJoin bool `json:"play_ivr_on_join,omitempty"` // 有新的入会者加入时播放提示音。 LiveUrl bool `json:"live_url,omitempty"` // 开启直播, 暂时不支持。 }
会议设置
type SimplifiedMeetingInfo ¶
type SimplifiedMeetingInfo struct { MeetingID string `json:"meeting_id"` MeetingCode string `json:"meeting_code"` }
简要会议信息
type UserDeleteRequest ¶
type UserDeleteRequest struct {
UserID string `json:"-" param:"userid"` // 调用方用于标示用户的唯一 ID
}
删除用户
type UserDetail ¶
type UserDetail struct { Username string `json:"username"` // 用户昵称 UpdateTime string `json:"update_time"` // 更新时间 Status string `json:"status"` // 用户状态,1:正常;2:删除 Email string `json:"email"` // 邮箱地址 Phone string `json:"phone"` // 手机号码 UserID string `json:"userid"` // 调用方用于标示用户的唯一 ID AreaCode string `json:"area"` // 地区编码(国内默认86) AvatarUrl string `json:"avatar_url"` // 头像 }
用户详情
type UserDetailQueryRequest ¶
type UserDetailQueryRequest struct {
UserID string `json:"userid" param:"userid"`
}
获取用户信息
type UserDetailQueryResponse ¶
type UserDetailQueryResponse struct {
UserDetail
}
type UserDetailUpdateRequest ¶
type UserDetailUpdateRequest struct { UserID string `json:"-" param:"userid"` // 调用方用于标示用户的唯一 ID Email string `json:"email"` // 新的邮箱地址 Username string `json:"username"` // 新的用户昵称 }
更新用户信息
type UserInfo ¶
type UserInfo struct { Email string `json:"email" binding:"required"` // 邮箱地址 Phone string `json:"phone" binding:"required"` // 手机号码 Username string `json:"username" binding:"required"` // 用户昵称 UserID string `json:"userid" binding:"required"` // 调用方用于表示用户的唯一ID }
用户信息
type UserListRequest ¶
type UserListRequest struct { Page int `json:"page" query:"page"` // 当前页 PageSize int `json:"page_size" query:"page_size"` // 分页大小 }
获取用户列表
type UserListResponse ¶
type UserListResponse struct { Pager Users []*UserDetail `json:"users"` }
Notes ¶
Bugs ¶
腾讯会议API接口报错,不知道什么问题,本地HTTP抓包未发现异常。
Click to show internal directories.
Click to hide internal directories.