Documentation
¶
Index ¶
- Constants
- Variables
- func GetSendURL(c *Client) (string, error)
- func GetTemporaryMediaURL(c *Client, mediaType string) (string, error)
- func UploadTemporaryMedia(c *Client, mediaType string, name string) (string, error)
- type CDATA
- type Client
- func (c *Client) AccessToken() (string, error)
- func (c *Client) Get(url string, body io.Reader) (resp *http.Response, err error)
- func (c *Client) Post(url, contentType string, body io.Reader) (resp *http.Response, err error)
- func (c *Client) RenewAccessToken() error
- func (c Client) TokenExpired() bool
- type CryptError
- type FileMessage
- type ImageMessage
- type MarkdownMessage
- type Message
- type MessageResponse
- type NewsMessage
- type ProtocolProcessor
- type ProtocolType
- type Response
- type TemporaryMediaResponse
- type TextCardMessage
- type TextMessage
- type TokenResponse
- type VideoMessage
- type VoiceMessage
- type WXBizMsg4Recv
- type WXBizMsg4Send
- type WXBizMsgCrypt
- func (self *WXBizMsgCrypt) DecryptMsg(msg_signature, timestamp, nonce string, post_data []byte) ([]byte, *CryptError)
- func (self *WXBizMsgCrypt) EncryptMsg(reply_msg, timestamp, nonce string) ([]byte, *CryptError)
- func (self *WXBizMsgCrypt) ParsePlainText(plaintext []byte) ([]byte, uint32, []byte, []byte, *CryptError)
- func (self *WXBizMsgCrypt) VerifyURL(msg_signature, timestamp, nonce, echostr string) ([]byte, *CryptError)
- type XmlProcessor
Constants ¶
View Source
const ( IMAGE = "image" VOICE = "voice" VIDEO = "video" FILE = "file" MinFileSize = 5 MaxImageSize = 2 * 1024 * 1024 MaxVoiceSize = 2 * 1024 * 1024 MaxVideoSize = 10 * 1024 * 1024 MaxFileSize = 20 * 1024 * 1024 )
View Source
const ( ValidateSignatureError int = -40001 ParseXmlError int = -40002 ComputeSignatureError int = -40003 IllegalAesKey int = -40004 ValidateCorpidError int = -40005 EncryptAESError int = -40006 DecryptAESError int = -40007 IllegalBuffer int = -40008 EncodeBase64Error int = -40009 DecodeBase64Error int = -40010 GenXmlError int = -40010 ParseJsonError int = -40012 GenJsonError int = -40013 IllegalProtocolType int = -40014 )
Variables ¶
View Source
var ErrSizeLimit = errors.New("exceed the file size limit")
Functions ¶
func GetSendURL ¶
Types ¶
type Client ¶
type Client struct {
CorpID string
CorpSecret string
BaseURL string
HttpClient *http.Client
// contains filtered or unexported fields
}
func (*Client) AccessToken ¶
func (*Client) RenewAccessToken ¶
func (Client) TokenExpired ¶
type CryptError ¶
func NewCryptError ¶
func NewCryptError(err_code int, err_msg string) *CryptError
type FileMessage ¶
type FileMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
File struct {
MediaID string `json:"media_id"`
} `json:"file"`
Safe int `json:"safe"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (FileMessage) ToJSON ¶
func (m FileMessage) ToJSON() ([]byte, error)
type ImageMessage ¶
type ImageMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
Image struct {
MediaID string `json:"media_id"`
} `json:"image"`
Safe int `json:"safe"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (ImageMessage) ToJSON ¶
func (m ImageMessage) ToJSON() ([]byte, error)
type MarkdownMessage ¶
type MarkdownMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
Markdown struct {
Content string `json:"content"`
} `json:"markdown"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (MarkdownMessage) ToJSON ¶
func (m MarkdownMessage) ToJSON() ([]byte, error)
type MessageResponse ¶
type MessageResponse struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
InvalidUser string `json:"invaliduser"`
InvalidParty string `json:"invalidparty"`
InvalidTag string `json:"invalidtag"`
MsgID string `json:"msgid"`
ResponseCode string `json:"response_code"`
}
func SendMessage ¶
func SendMessage(c *Client, m Message) (*MessageResponse, error)
func (*MessageResponse) UnMarshalFromJSON ¶
func (r *MessageResponse) UnMarshalFromJSON(p []byte) error
type NewsMessage ¶
type NewsMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
News struct {
Articles []struct {
Title string `json:"title"`
Description string `json:"description"`
URL string `json:"url"`
PicURL string `json:"picurl"`
Appid string `json:"appid"`
PagePath string `json:"pagepath"`
} `json:"articles"`
} `json:"news"`
EnableIDTrans int `json:"enable_id_trans"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (NewsMessage) ToJSON ¶
func (m NewsMessage) ToJSON() ([]byte, error)
type ProtocolProcessor ¶
type ProtocolProcessor interface {
// contains filtered or unexported methods
}
type TemporaryMediaResponse ¶
type TemporaryMediaResponse struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
Type string `json:"type"`
MediaId string `json:"media_id"`
CreatedAt string `json:"created_at"`
}
func (*TemporaryMediaResponse) UnMarshalFromJSON ¶
func (r *TemporaryMediaResponse) UnMarshalFromJSON(p []byte) error
type TextCardMessage ¶
type TextCardMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
TextCard struct {
Title string `json:"title"`
Description string `json:"description"`
Url string `json:"url"`
BtnText string `json:"btntxt"`
} `json:"textcard"`
EnableIDTrans int `json:"enable_id_trans"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (TextCardMessage) ToJSON ¶
func (m TextCardMessage) ToJSON() ([]byte, error)
type TextMessage ¶
type TextMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"` //Must be text
AgentID int `json:"agentid"`
Text struct {
Content string `json:"content"`
} `json:"text"`
Safe int `json:"safe"`
EnableIdTrans int `json:"enable_id_trans"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (TextMessage) ToJSON ¶
func (m TextMessage) ToJSON() ([]byte, error)
type TokenResponse ¶
type TokenResponse struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
AccessToken string `json:"access_token"`
ExpiresIn int `json:"expires_in"`
}
func (*TokenResponse) UnMarshalFromJSON ¶
func (r *TokenResponse) UnMarshalFromJSON(p []byte) error
type VideoMessage ¶
type VideoMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
Video struct {
MediaID string `json:"media_id"`
Title string `json:"title"`
Description string `json:"description"`
} `json:"video"`
Safe int `json:"safe"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (VideoMessage) ToJSON ¶
func (m VideoMessage) ToJSON() ([]byte, error)
type VoiceMessage ¶
type VoiceMessage struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
Voice struct {
MediaID string `json:"media_id"`
} `json:"voice"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
func (VoiceMessage) ToJSON ¶
func (m VoiceMessage) ToJSON() ([]byte, error)
type WXBizMsg4Recv ¶
type WXBizMsg4Send ¶
type WXBizMsg4Send struct {
XMLName xml.Name `xml:"xml"`
Encrypt CDATA `xml:"Encrypt"`
Signature CDATA `xml:"MsgSignature"`
Timestamp string `xml:"TimeStamp"`
Nonce CDATA `xml:"Nonce"`
}
func NewWXBizMsg4Send ¶
func NewWXBizMsg4Send(encrypt, signature, timestamp, nonce string) *WXBizMsg4Send
type WXBizMsgCrypt ¶
type WXBizMsgCrypt struct {
// contains filtered or unexported fields
}
func NewWXBizMsgCrypt ¶
func NewWXBizMsgCrypt(token, encoding_aeskey, receiver_id string, protocol_type ProtocolType) *WXBizMsgCrypt
func (*WXBizMsgCrypt) DecryptMsg ¶
func (self *WXBizMsgCrypt) DecryptMsg(msg_signature, timestamp, nonce string, post_data []byte) ([]byte, *CryptError)
func (*WXBizMsgCrypt) EncryptMsg ¶
func (self *WXBizMsgCrypt) EncryptMsg(reply_msg, timestamp, nonce string) ([]byte, *CryptError)
func (*WXBizMsgCrypt) ParsePlainText ¶
func (self *WXBizMsgCrypt) ParsePlainText(plaintext []byte) ([]byte, uint32, []byte, []byte, *CryptError)
func (*WXBizMsgCrypt) VerifyURL ¶
func (self *WXBizMsgCrypt) VerifyURL(msg_signature, timestamp, nonce, echostr string) ([]byte, *CryptError)
type XmlProcessor ¶
type XmlProcessor struct {
}
Click to show internal directories.
Click to hide internal directories.