workwx

package module
v0.5.4 Latest Latest
Warning

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

Go to latest
Published: May 11, 2023 License: MIT Imports: 27 Imported by: 0

README

workwx

The workwx repository holds packages for using work weixin.

The workwx project is experimental. Use this at your own risk.

Send Messsage exmaples:

	msg := &Message{}
	msg.Set(corpId, secret)
	msg.SetReceiver([]string{userId}, nil, nil)
	msg.SetAgentId(agentId)

	data := MessageText{ Content: "test" }
	if err := msg.Text(&data); err != nil {
	}

Documentation

Index

Constants

View Source
const (
	MessageTypeText  = "text"
	MessageTypeImage = "image"
	MessageTypeVoice = "voice"
	MessageTypeVideo = "video"
	MessageTypeNews  = "news"
)

Variables

View Source
var (
	ErrMessage = errors.New("message error")
)

Functions

This section is empty.

Types

type CData added in v0.0.10

type CData struct {
	Data string `xml:",cdata"`
}

type Chat added in v0.0.12

type Chat struct {
	Token
	// contains filtered or unexported fields
}

func (*Chat) AddUsers added in v0.0.12

func (p *Chat) AddUsers(users []string) Error

func (*Chat) Create added in v0.0.12

func (p *Chat) Create(name, owner string, userList []string) (ret ChatCreateResponse)

Create create chat. If you want to set chatid, you should call SetChatId before Create.

func (*Chat) DelUsers added in v0.0.12

func (p *Chat) DelUsers(users []string) Error

func (*Chat) Get added in v0.0.12

func (p *Chat) Get() (ret ChatGetResponse)

func (*Chat) Rename added in v0.0.12

func (p *Chat) Rename(name string) Error

func (*Chat) ResetOwner added in v0.0.12

func (p *Chat) ResetOwner(owner string) Error

func (*Chat) SetChatId added in v0.0.12

func (p *Chat) SetChatId(id string)

type ChatCreateResponse added in v0.5.0

type ChatCreateResponse struct {
	Error
	ChatId string `json:"chatid"`
}

type ChatGetResponse added in v0.5.0

type ChatGetResponse struct {
	Error
	Info ChatInfo `json:"chat_info"`
}

type ChatInfo added in v0.0.12

type ChatInfo struct {
	Name     string   `json:"name,omitempty"`
	Owner    string   `json:"owner,omitempty"`
	UserList []string `json:"userlist"`
	ChatId   string   `json:"chatid,omitempty"`
}

type ContentText

type ContentText struct {
	Content string `json:"content"`
}

type Crypto added in v0.0.8

type Crypto struct {
	// contains filtered or unexported fields
}

func NewCrypto added in v0.0.8

func NewCrypto(token, id string, key []byte) (*Crypto, error)

func (*Crypto) Decrypt added in v0.0.8

func (p *Crypto) Decrypt(message string) ([]byte, error)

func (*Crypto) Encrypt added in v0.0.8

func (p *Crypto) Encrypt(message []byte) string

func (*Crypto) Signature added in v0.0.8

func (p *Crypto) Signature(timeStamp, nonce, message string) string

type Department added in v0.0.6

type Department struct {
	Token
}

func (*Department) List added in v0.0.6

func (p *Department) List(id int) (ret DepartmentListResponse)

id < 0 if for all

type DepartmentItem added in v0.0.6

type DepartmentItem struct {
	Id       int    `json:"id"`
	Name     string `json:"name"`
	ParentId int    `json:"parentid"`
	Order    int    `json:"order"`
}

type DepartmentListResponse added in v0.5.0

type DepartmentListResponse struct {
	Error
	Items []DepartmentItem `json:"department"`
}

type DepartmentUsersDetailResponse added in v0.5.0

type DepartmentUsersDetailResponse DepartmentUsersResponse

type DepartmentUsersResponse added in v0.5.0

type DepartmentUsersResponse struct {
	Error
	Users []UserInfoBase `json:"userlist"`
}

type Error added in v0.0.7

type Error struct {
	ErrCode int    `json:"errcode"`
	ErrMsg  string `json:"errmsg"`
	// contains filtered or unexported fields
}

func (*Error) Error added in v0.0.7

func (p *Error) Error() string

func (*Error) GetError added in v0.5.0

func (p *Error) GetError() error

func (*Error) IsWeworkError added in v0.5.0

func (p *Error) IsWeworkError() bool

func (*Error) SetError added in v0.5.0

func (p *Error) SetError(err error)

type ErrorMessage added in v0.0.3

type ErrorMessage struct {
	ErrCode      int
	ErrMsg       string
	InvalidUser  []string
	InvalidParty []string
	InvalidTag   []string
}

func (*ErrorMessage) Error added in v0.0.3

func (p *ErrorMessage) Error() string

type IError added in v0.5.0

type IError interface {
	error
	SetError(error)
	GetError() error
	IsWeworkError() bool
}

type Media added in v0.0.3

type Media struct {
	Token
}

func (*Media) Bmp added in v0.0.3

func (p *Media) Bmp(fileName string, temporary bool) (string, error)

func (*Media) File added in v0.0.3

func (p *Media) File(fileName string) (string, error)

func (*Media) GetData added in v0.0.3

func (p *Media) GetData(id string, fromTo ...int) (data []byte, err error)

fromTo[0]: from, fromTo[1]: to

func (*Media) Jpeg added in v0.0.3

func (p *Media) Jpeg(fileName string, temporary bool) (string, error)

func (*Media) Png added in v0.0.3

func (p *Media) Png(fileName string, temporary bool) (string, error)

func (*Media) Video added in v0.0.3

func (p *Media) Video(fileName string) (string, error)

only support mp4

func (*Media) Voice added in v0.0.3

func (p *Media) Voice(fileName string) (string, error)

only support AMR

type Menu struct {
	Token
	// contains filtered or unexported fields
}
func (p *Menu) Create(str string) (ret Error)
func (p *Menu) Data() (string, error)
func (p *Menu) Delete() (ret Error)
func (p *Menu) SetAgentId(agentId int)

type Message added in v0.0.3

type Message struct {
	Token
	// contains filtered or unexported fields
}

func (*Message) Markdown added in v0.0.3

func (p *Message) Markdown(markdown *MessageMarkdown) error

send markdown message

func (*Message) SetAgentId added in v0.0.3

func (p *Message) SetAgentId(agentId int)

func (*Message) SetReceiver added in v0.0.3

func (p *Message) SetReceiver(receivers ...[]string)

receivers: user, party, tag, chatid

func (*Message) SetReceiverChatId added in v0.0.16

func (p *Message) SetReceiverChatId(chatId string)

func (*Message) Text added in v0.0.3

func (p *Message) Text(text *MessageText) error

send text message

type MessageMarkdown added in v0.0.3

type MessageMarkdown struct {
	Content string //max 2048 bytes
}

type MessageR added in v0.0.9

type MessageR struct {
	ToUserName   string `xml:"ToUserName"`
	FromUserName string `xml:"FromUserName"`
	AgentId      string `xml:"AgentId"`
	MsgType      string `xml:"MsgType"`
	MsgId        string `xml:"MsgId"`
	CreateTime   string `xml:"CreateTime"`
	//text
	Content string `xml:"Content,omitempty"`

	//image
	PicUrl  string `xml:"PicUrl,omitempty"`
	MediaId string `xml:"MediaId,omitempty"`

	//voice, also use MediaId
	Format string `xml:"Format,omitempty"`

	//video, also use MediaId
	ThumbMediaId string `xml:"ThumbMediaId,omitempty"`

	//location
	X       float64 `xml:"Location_X,omitempty"`
	Y       float64 `xml:"Location_Y,omitempty"`
	Scale   int     `xml:"Scale,omitempty"`
	Label   string  `xml:"Label,omitempty"`
	AppType string  `xml:"AppType,omitempty"`

	//link, also use PicUrl
	Url         string `xml:"Url,omitempty"`
	Title       string `xml:"Title,omitempty"`
	Description string `xml:"Description,omitempty"`

	//event
	Event    string `xml:"Event,omitempty"`
	EventKey string `xml:"EventKey,omitempty"`
}

type MessageRBody added in v0.0.9

type MessageRBody struct {
	ToUserName string `xml:"ToUserName"`
	AgentId    string `xml:"AgentId"`
	Encrypt    string `xml:"Encrypt"`
}

type MessageRRepsonseVideoData added in v0.0.9

type MessageRRepsonseVideoData struct {
	MessageRResponseMediaData
	Title       CData `xml:"Title,omitempty"`
	Description CData `xml:"Description,omitempty"`
}

type MessageRResponse added in v0.0.9

type MessageRResponse struct {
	XMLName      xml.Name `xml:"xml"`
	ToUserName   CData    `xml:"ToUserName,omitempty"`
	FromUserName CData    `xml:"FromUserName,omitempty"`
	CreateTime   string   `xml:"CreateTime"`
	MsgType      CData    `xml:"MsgType"`
}

type MessageRResponseImage added in v0.0.9

type MessageRResponseImage struct {
	MessageRResponse
	Image MessageRResponseMediaData `xml:"Image"`
}

type MessageRResponseMediaData added in v0.0.9

type MessageRResponseMediaData struct {
	MediaId CData `xml:"MediaId"`
}

type MessageRResponseNews added in v0.0.9

type MessageRResponseNews struct {
	MessageRResponse
	ArticleCount int                        `xml:"ArticleCount"`
	Articles     []MessageRResponseNewsData `xml:"Articles,omitempty"`
}

type MessageRResponseNewsData added in v0.0.9

type MessageRResponseNewsData struct {
	XMLName     xml.Name `xml:"item"`
	Title       CData    `xml:"Title,omitempty"`
	Description CData    `xml:"Description,omitempty"`
	PicUrl      CData    `xml:"PicUrl,omitempty"`
	Url         CData    `xml:"Url,omitempty"`
}

type MessageRResponseText added in v0.0.9

type MessageRResponseText struct {
	MessageRResponse
	Content CData `xml:"Content"`
}

type MessageRResponseVideo added in v0.0.9

type MessageRResponseVideo struct {
	MessageRResponse
	Video MessageRRepsonseVideoData `xml:"Video"`
}

type MessageRResponseVoice added in v0.0.9

type MessageRResponseVoice struct {
	MessageRResponse
	Voice MessageRResponseMediaData `xml:"Voice"`
}

type MessageRUrl added in v0.0.9

type MessageRUrl struct {
	Signature string `url:"msg_signature"`
	Timestamp string `url:"timestamp"`
	Nonce     string `url:"nonce"`
}

type MessageRVerify added in v0.0.9

type MessageRVerify struct {
	MessageRUrl
	EchoStr string `url:"echostr"`
}

type MessageResponseBody added in v0.0.11

type MessageResponseBody struct {
	XMLName   xml.Name `xml:"xml"`
	Encrypt   CData    `xml:"Encrypt"`
	Signature CData    `xml:"MsgSignature"`
	Nonce     CData    `xml:"Nonce"`
	Timestamp string   `xml:"TimeStamp"`
}

func BuildMessageResponseBody added in v0.0.11

func BuildMessageResponseBody(c *Crypto, v interface{}) (*MessageResponseBody, error)

type MessageText added in v0.0.3

type MessageText struct {
	Content string //max 2048 bytes
	Safe    bool
	IdTrans bool
}

type Token added in v0.5.0

type Token struct {
	// contains filtered or unexported fields
}

func (*Token) Get added in v0.5.0

func (p *Token) Get(force bool) (token string, err error)

return token string

func (*Token) GetBytes added in v0.5.0

func (p *Token) GetBytes(class, api string, header http.Header, exts ...string) (data []byte, err error)

func (*Token) GetJson added in v0.5.0

func (p *Token) GetJson(class, api string, res any, exts ...string) (err error)

func (*Token) PostJson added in v0.5.0

func (p *Token) PostJson(class, api string, req, r any, exts ...string) (err error)

func (*Token) Set added in v0.5.0

func (p *Token) Set(corpId, secret string)

set cropId and secret

type User added in v0.0.5

type User struct {
	Token
}

func (*User) DepartmentUsers added in v0.0.17

func (p *User) DepartmentUsers(departmentId int, fetchChild bool) (ret DepartmentUsersResponse)

func (*User) DepartmentUsersDetail added in v0.0.17

func (p *User) DepartmentUsersDetail(departmentId int, fetchChild bool) (ret DepartmentUsersDetailResponse)

func (*User) Info added in v0.0.5

func (p *User) Info(userId string) (ret UserInfoResponse)

func (*User) UserId added in v0.0.6

func (p *User) UserId(code string) (ret UserIdResponse)

type UserId added in v0.0.6

type UserId struct {
	UserId  string `json:"userid"`
	OpoenId string `json:"openid"`
}

type UserIdResponse added in v0.5.0

type UserIdResponse struct {
	Error
	UserId
}

type UserInfo added in v0.0.5

type UserInfo struct {
	UserInfoBase
	Order          []int  `json:"order"`
	Leader         []int  `json:"is_leader_in_dept"`
	Mobile         string `json:"mobile"`
	Telephone      string `json:"telephone"`
	Position       string `json:"position"`
	Gender         string `json:"gender"`
	Email          string `json:"email"`
	Status         int    `json:"status"`
	QrUrl          string `json:"qr_code"`
	Avatar         string `json:"avatar"`
	DepartmentMain int    `json:"main_department"`
	NameEnglish    string `json:"english_name"`
	Address        string `json:"address"`
}

type UserInfoBase added in v0.0.17

type UserInfoBase struct {
	UserId      string `json:"userid"`
	Name        string `json:"name"`
	Departments []int  `json:"department"`
	OpenUserId  string `json:"open_userid"`
}

type UserInfoResponse added in v0.5.0

type UserInfoResponse struct {
	Error
	UserInfo
}

type WedriveAuthInfoItem added in v0.1.0

type WedriveAuthInfoItem struct {
	Type         uint32  `json:"type"` // 1: person, 2: department
	UserID       *string `json:"userid,omitempty"`
	DepartmentID *uint32 `json:"departmentid,omitempty"`
	Auth         int     `json:"auth"` // 1: only download, 4: may preview, 7: administrator
}

type WedriveAutoList added in v0.1.0

type WedriveAutoList struct {
	AuthInfo   []WedriveAuthInfoItem `json:"auth_info"`
	QuitUserID []string              `json:"quit_userid"`
}

type WedriveFile added in v0.1.0

type WedriveFile struct {
	Token
}

func (*WedriveFile) BlockUpload added in v0.1.0

Big files upload.

func (*WedriveFile) Create added in v0.1.0

func (*WedriveFile) Delete added in v0.1.0

func (p *WedriveFile) Delete(param *WedriveFileDeleteRequest) (ret Error)

func (*WedriveFile) Download added in v0.1.0

func (p *WedriveFile) Download(param *WedriveFileDownloadRequest, to io.Writer) (ret Error)

func (*WedriveFile) Info added in v0.1.0

func (*WedriveFile) List added in v0.1.0

func (*WedriveFile) Move added in v0.4.0

func (*WedriveFile) Rename added in v0.1.0

func (p *WedriveFile) Rename(param *WedriveFileRenameRequest) (ret Error)

func (*WedriveFile) SecureAdd added in v0.4.0

func (p *WedriveFile) SecureAdd(param *WedriveFileSecureAddRequest) (ret Error)

func (*WedriveFile) SecureDel added in v0.4.0

func (p *WedriveFile) SecureDel(param *WedriveFileSecureDelRequest) (ret Error)

func (*WedriveFile) SecurePermission added in v0.4.0

func (*WedriveFile) SecureSet added in v0.4.0

func (p *WedriveFile) SecureSet(param *WedriveFileSecureSetRequest) (ret Error)

func (*WedriveFile) SecureSetPermission added in v0.4.0

func (p *WedriveFile) SecureSetPermission(param *WedriveFileSecureSetPermissionRequest) (ret Error)

func (*WedriveFile) SecureShare added in v0.4.0

func (*WedriveFile) Upload added in v0.1.0

Small files upload. FileSize <= 10M.

type WedriveFileBlockUploadRequest added in v0.1.0

type WedriveFileBlockUploadRequest struct {
	SpaceID      string `json:"spaceid"`
	FatherID     string `json:"fatherid"` // 当前目录的fileid,根目录时为空间spaceid
	FileName     string `json:"file_name"`
	Size         uint64 `json:"size"` //max 20G
	SkipPushCard bool   `json:"skip_push_card"`
	Data         io.ReadSeeker
	Concurrent   int
}

type WedriveFileCreateRequest added in v0.1.0

type WedriveFileCreateRequest struct {
	SpaceID  string `json:"spaceid"`
	FatherID string `json:"fatherid"`  // 当前目录的fileid,根目录时为空间spaceid
	FileType uint32 `json:"file_type"` // 1:文件夹 3:微文档(文档) 4:微文档(表格)
	FileName string `json:"file_name"`
}

type WedriveFileCreateResponse added in v0.1.0

type WedriveFileCreateResponse struct {
	Error
	FileID string `json:"fileid"`
	Url    string `json:"url"`
}

type WedriveFileDeleteRequest added in v0.1.0

type WedriveFileDeleteRequest struct {
	FileID []string `json:"fileid"`
}

type WedriveFileDownloadRequest added in v0.1.0

type WedriveFileDownloadRequest WedriveFileInfoRequest

type WedriveFileInfoRequest added in v0.1.0

type WedriveFileInfoRequest struct {
	FileID string `json:"fileid"`
}

type WedriveFileInfoResponse added in v0.1.0

type WedriveFileInfoResponse struct {
	Error
	FileInfo WedriveFileItem `json:"file_info"`
}

type WedriveFileItem added in v0.1.0

type WedriveFileItem struct {
	FileID     string `json:"fileid"`
	FileName   string `json:"file_name"`
	SpaceID    string `json:"spaceid"`
	FatherID   string `json:"fatherid"` // 当前目录的fileid,根目录时为空间fileid
	FileSize   uint64 `json:"file_size"`
	CTime      uint64 `json:"ctime"`
	MTime      uint64 `json:"mtime"`
	FileType   uint32 `json:"file_type"`   // 1:文件夹 2:文件 3:微文档(文档) 4:微文档(表格) 5:微文档(收集表)
	FileStatus uint32 `json:"file_status"` // 文件状态, 1:正常 2:删除
	Sha        string `json:"sha"`
	Md5        string `json:"md5"`
	Url        string `json:"url"`
}

type WedriveFileList added in v0.1.0

type WedriveFileList struct {
	Item []WedriveFileItem `json:"item"`
}

type WedriveFileListRequest added in v0.1.0

type WedriveFileListRequest struct {
	SpaceID  string `json:"spaceid"`
	FatherID string `json:"fatherid"`  // 当前目录的fileid,根目录时为空间spaceid
	SortType uint32 `json:"sort_type"` // 1:名字升序;2:名字降序;3:大小升序;4:大小降序;5:修改时间升序;6:修改时间降序
	Start    uint32 `json:"start"`     // 首次填0, 后续填上一次请求返回的next_start
	Limit    uint32 `json:"limit"`     // 分批拉取最大文件数, 不超过1000
}

type WedriveFileListResponse added in v0.1.0

type WedriveFileListResponse struct {
	Error
	More      bool            `json:"has_more"`
	NextStart uint32          `json:"next_start"`
	FileList  WedriveFileList `json:"file_list"`
}

type WedriveFileMoveRequest added in v0.4.0

type WedriveFileMoveRequest struct {
	FatherID string   `json:"fatherid"` // 当前目录的fileid,根目录时为空间spaceid
	Replace  bool     `json:"replace"`
	FileID   []string `json:"fileid"`
}

type WedriveFileMoveResponse added in v0.4.0

type WedriveFileMoveResponse struct {
	Error
	FileList WedriveFileList `json:"file_list"`
}

type WedriveFileRenameRequest added in v0.1.0

type WedriveFileRenameRequest struct {
	FileID  string `json:"fileid"`
	NewName string `json:"new_name"`
}

type WedriveFileSecureAddRequest added in v0.4.0

type WedriveFileSecureAddRequest struct {
	FileID   string                `json:"fileid"`
	AuthInfo []WedriveAuthInfoItem `json:"auth_info"`
}

type WedriveFileSecureDelRequest added in v0.4.0

type WedriveFileSecureDelRequest struct {
	FileID   string                `json:"fileid"`
	AuthInfo []WedriveUserInfoItem `json:"auth_info"`
}

type WedriveFileSecureIneritFatherAuth added in v0.4.0

type WedriveFileSecureIneritFatherAuth struct {
	AuthList []WedriveAuthInfoItem `json:"auth_list"`
	Inherit  bool                  `json:"inherit"`
}

type WedriveFileSecurePermissionRequest added in v0.4.0

type WedriveFileSecurePermissionRequest WedriveFileSecureShareRequest

type WedriveFileSecurePermissionResponse added in v0.4.0

type WedriveFileSecurePermissionResponse struct {
	Error
	ShareRange        WedriveFileSecureShareRange       `json:"share_range"`
	SecureSetting     WedriveFileSecureSetting          `json:"secure_setting"`
	InheritFatherAuth WedriveFileSecureIneritFatherAuth `json:"inherit_father_auth"`
	FileMemberList    []WedriveAuthInfoItem             `json:"member_list,omitempty"`
	Watermark         WedriveFileSecureWatermark        `json:"watermark"`
}

type WedriveFileSecureSetPermissionRequest added in v0.4.0

type WedriveFileSecureSetPermissionRequest struct {
	FileID    string                            `json:"fileid"`
	Watermark WedriveFileSecureWatermarkSetting `json:"watermark"`
}

type WedriveFileSecureSetRequest added in v0.4.0

type WedriveFileSecureSetRequest struct {
	FileID    string  `json:"fileid"`
	AuthScope uint32  `json:"auth_scope"`     //	权限范围:1:指定人 2:企业内 3:企业外 4: 企业内需管理员审批(仅有管理员时可设置) 5: 企业外需管理员审批(仅有管理员时可设置)
	Auth      *uint32 `json:"auth,omitempty"` //	权限信息 普通文档: 1:仅浏览(可下载) 4:仅预览(仅专业版企业可设置);如果不填充此字段为保持原有状态 微文档: 1:仅浏览(可下载);如果不填充此字段为保持原有状态
}

type WedriveFileSecureSetting added in v0.4.0

type WedriveFileSecureSetting struct {
	EnableReadonly        bool `json:"enable_readonly_copy"`
	ModifyOnlyByAdmin     bool `json:"modify_only_by_admin"`
	EnableReadonlyComment bool `json:"enable_readonly_comment"`
	BanShareExternal      bool `json:"ban_share_external"`
}

type WedriveFileSecureShareRange added in v0.4.0

type WedriveFileSecureShareRange struct {
	EnableCorpInternal bool    `json:"enable_corp_internal"`         // 是否为企业内可访问
	CorpInternalAuth   *uint32 `json:"corp_internal_auth,omitempty"` //	企业内权限信息 普通文档: 1:仅浏览(可下载) 4:仅预览(仅专业版企业可设置);如果不填充此字段为保持原有状态 微文档: 1:仅浏览(可下载);如果不填充此字段为保持原有状态
	EnableCorpExternal bool    `json:"enable_corp_external"`         // 是否为企业外可访问
	CorpExternalAuth   *uint32 `json:"corp_external_auth,omitempty"` //	企业外权限信息 普通文档: 1:仅浏览(可下载) 4:仅预览(仅专业版企业可设置);如果不填充此字段为保持原有状态 微文档: 1:仅浏览(可下载);如果不填充此字段为保持原有状态
}

文件分享设置

type WedriveFileSecureShareRequest added in v0.4.0

type WedriveFileSecureShareRequest struct {
	FileID string `json:"fileid"`
}

type WedriveFileSecureShareResponse added in v0.4.0

type WedriveFileSecureShareResponse struct {
	Error
	Url string `json:"share_url"` // 邀请链接
}

type WedriveFileSecureWatermark added in v0.4.0

type WedriveFileSecureWatermark struct {
	WedriveFileSecureWatermarkSetting
	ForceByAdmin      *bool `json:"force_by_admin,omitempty"`       // 管理员是否强制要求使用水印,此字段不填则保持原样
	ForceBySpaceAdmin *bool `json:"force_by_space_admin,omitempty"` // 空间管理员是否强制要求使用水印,此字段不填则保持原样
}

type WedriveFileSecureWatermarkSetting added in v0.4.0

type WedriveFileSecureWatermarkSetting struct {
	Text            *string `json:"text,omitempty"`              // 水印文字,此字段不填则保持原样
	MarginType      *uint32 `json:"margin_type,omitempty"`       // 水印类型。1:低密度水印, 2: 高密度水印,此字段不填则保持原样
	ShowVisitorName *bool   `json:"show_visitor_name,omitempty"` //	是否显示访问人名称,此字段不填则保持原样(仅专业版支持)
	ShowText        *bool   `json:"show_text,omitempty"`         // 是否展示水印文本,此字段不填则保持原样
}

type WedriveFileUploadRequest added in v0.1.0

type WedriveFileUploadRequest struct {
	SpaceID    string `json:"spaceid"`
	FatherID   string `json:"fatherid"` // 当前目录的fileid,根目录时为空间spaceid
	FileName   string `json:"file_name"`
	DataBase64 string `json:"file_base64_content"`
}

type WedriveFileUploadResponse added in v0.1.0

type WedriveFileUploadResponse struct {
	Error
	FileID string `json:"fileid"`
}

type WedriveSpace added in v0.1.0

type WedriveSpace struct {
	Token
}

func (*WedriveSpace) Create added in v0.1.0

func (*WedriveSpace) Delete added in v0.1.0

func (p *WedriveSpace) Delete(param *WedriveSpaceDeleteRequest) (ret Error)

func (*WedriveSpace) List added in v0.1.0

func (*WedriveSpace) Rename added in v0.1.0

func (p *WedriveSpace) Rename(param *WedriveSpaceRenameRequest) (ret Error)

func (*WedriveSpace) SecureAdd added in v0.4.0

func (p *WedriveSpace) SecureAdd(param *WedriveSpaceSecureAddRequest) (ret Error)

func (*WedriveSpace) SecureDel added in v0.4.0

func (p *WedriveSpace) SecureDel(param *WedriveSpaceSecureDelRequest) (ret Error)

func (*WedriveSpace) SecureInfo added in v0.4.0

func (*WedriveSpace) SecureSet added in v0.4.0

func (p *WedriveSpace) SecureSet(param *WedriveSpaceSecureSetRequest) (ret Error)

func (*WedriveSpace) SecureShare added in v0.4.0

type WedriveSpaceCreateRequest added in v0.1.0

type WedriveSpaceCreateRequest struct {
	Name         string                `json:"space_name"`
	AuthInfo     []WedriveAuthInfoItem `json:"auth_info"`
	SpaceSubType uint32                `json:"space_sub_type"`
}

type WedriveSpaceCreateResponse added in v0.1.0

type WedriveSpaceCreateResponse struct {
	Error
	WedriveSpaceID
}

type WedriveSpaceDeleteRequest added in v0.1.0

type WedriveSpaceDeleteRequest WedriveSpaceID

type WedriveSpaceID added in v0.1.0

type WedriveSpaceID struct {
	SpaceID string `json:"spaceid"`
}

type WedriveSpaceInfo added in v0.1.0

type WedriveSpaceInfo struct {
	SpaceID      string          `json:"spaceid"`
	SpaceName    string          `json:"space_name"`
	AuthList     WedriveAutoList `json:"auth_list"`
	SpaceSubType uint32          `json:"space_sub_type"`
}

type WedriveSpaceListRequest added in v0.1.0

type WedriveSpaceListRequest WedriveSpaceID

type WedriveSpaceListResponse added in v0.1.0

type WedriveSpaceListResponse struct {
	Error
	SpaceInfo WedriveSpaceInfo `json:"space_info"`
}

type WedriveSpaceRenameRequest added in v0.1.0

type WedriveSpaceRenameRequest struct {
	SpaceID string `json:"spaceid"`
	Name    string `json:"space_name"`
}

type WedriveSpaceSecureAddRequest added in v0.4.0

type WedriveSpaceSecureAddRequest struct {
	SpaceID  string                `json:"spaceid"`
	AuthInfo []WedriveAuthInfoItem `json:"auth_info"`
}

type WedriveSpaceSecureDelRequest added in v0.4.0

type WedriveSpaceSecureDelRequest struct {
	SpaceID  string                `json:"spaceid"`
	AuthInfo []WedriveUserInfoItem `json:"auth_info"`
}

type WedriveSpaceSecureInfo added in v0.4.0

type WedriveSpaceSecureInfo struct {
	SpaceID       string                    `json:"spaceid"`
	SpaceName     string                    `json:"space_name"`
	AuthList      WedriveAutoList           `json:"auth_list"`
	SpaceSubType  uint32                    `json:"space_sub_type"`
	SecureSetting WedriveSpaceSecureSetting `json:"secure_setting"`
}

type WedriveSpaceSecureInfoRequest added in v0.4.0

type WedriveSpaceSecureInfoRequest WedriveSpaceSecureShareRequest

type WedriveSpaceSecureInfoResponse added in v0.4.0

type WedriveSpaceSecureInfoResponse struct {
	Error
	SpaceInfo WedriveSpaceSecureInfo `json:"space_info"`
}

type WedriveSpaceSecureSetRequest added in v0.4.0

type WedriveSpaceSecureSetRequest struct {
	SpaceID                string  `json:"spaceid"`
	EnableWatermark        *bool   `json:"enable_watermark,omitempty"`         //(本字段仅专业版企业可设置)启用水印。false:关 true:开 ;如果不填充此字段为保持原有状态
	EnableConfidentialMode *bool   `json:"enable_confidential_mode,omitempty"` // 是否开启保密模式。false:关 true:开 如果不填充此字段为保持原有状态
	DefaultFileScope       *uint32 `json:"default_file_scope,omitempty"`       // 文件默认可查看范围。1:仅成员;2:企业内。如果不填充此字段为保持原有状态
	BanShareExternal       *bool   `json:"ban_share_external,omitempty"`       //	是否禁止文件分享到企业外|false:关 true:开 如果不填充此字段为保持原有状态
}

type WedriveSpaceSecureSetting added in v0.4.0

type WedriveSpaceSecureSetting struct {
	EnableWatermark                   bool   `json:"enable_watermark"`
	AddMemberOnlyAdmin                bool   `json:"add_member_only_admin"`
	EnableShareUrl                    bool   `json:"enable_share_url"`
	ShareUrlNoApprove                 bool   `json:"share_url_no_approve"`
	ShareUrlNoApproveDefaultAuth      int    `json:"share_url_no_approve_default_auth"`
	EnableShareExternal               bool   `json:"enable_share_external"`
	EnableShareExternalAdmin          bool   `json:"enable_share_external_admin"`
	EnableSpaceAddExternalMember      bool   `json:"enable_space_add_external_member"`
	EnableSpaceAddExternalMemberAdmin bool   `json:"enable_space_add_external_member_admin"`
	EnableConfidentialMode            bool   `json:"enable_confidential_mode"`
	DefaultFileScope                  uint32 `json:"default_file_scope"`
	CreateFileOnlyAdmin               bool   `json:"create_file_only_admin"`
}

type WedriveSpaceSecureShareRequest added in v0.4.0

type WedriveSpaceSecureShareRequest struct {
	SpaceID string `json:"spaceid"`
}

type WedriveSpaceSecureShareResponse added in v0.4.0

type WedriveSpaceSecureShareResponse struct {
	Error
	Url string `json:"space_share_url"` // 邀请链接
}

type WedriveUserInfoItem added in v0.4.0

type WedriveUserInfoItem struct {
	Type         uint32  `json:"type"` // 1: person, 2: department
	UserID       *string `json:"userid,omitempty"`
	DepartmentID *uint32 `json:"departmentid,omitempty"`
}

Jump to

Keyboard shortcuts

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