doc

https://developer.work.weixin...

app

go

package mainimport (    "bytes"    "encoding/json"    "fmt"    "io/ioutil"    "log"    "net/http")const (    CorpId = "xxxxxxxxx"    CorpSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-k"    AgentId int = 1xxxxxxx)type T struct {    Errcode     int    `json:"errcode"`    Errmsg      string `json:"errmsg"`    AccessToken string `json:"access_token"`    ExpiresIn   int    `json:"expires_in"`}type T2 struct {    Touser  interface{} `json:"touser"`    Msgtype string      `json:"msgtype"`    Agentid int         `json:"agentid"`    Text    struct {        Content interface{} `json:"content"`    } `json:"markdown"`    Safe int `json:"safe"`}type T3 struct {    Errcode int    `json:"errcode"`    Errmsg  string `json:"errmsg"`    Msgid   string `json:"msgid"`}func GetToken(CorpId string, CorpSecret string) (*T) {    url := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s", CorpId, CorpSecret)    client := &http.Client{}    req, err := http.NewRequest("GET", url, nil)    resp, err := client.Do(req)    if err != nil {        log.Fatal(err)    }    defer resp.Body.Close()    body, err := ioutil.ReadAll(resp.Body)    if err != nil {        log.Fatal(err)    }    fmt.Println("######", string(body))    var assetList T    err = json.Unmarshal(body, &assetList)    return &assetList}func SendMessage(token string, comment string, userName string) *T3 {    var j T2    j.Agentid = AgentId    j.Text.Content = comment    j.Touser = userName    j.Msgtype = "markdown"    j.Safe = 0    data, err := json.Marshal(j)    if err != nil {        fmt.Println("err was %v", err)    }    fmt.Println(string(data))    reader := bytes.NewReader(data)    uri := "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token    client := &http.Client{}    req, err := http.NewRequest("POST", uri, reader)    req.Header.Add("Content-Type", "application/json")    req.Header.Add("Accept", "application/json")    resp, err := client.Do(req)    if err != nil {        log.Fatal(err)    }    defer resp.Body.Close()    body, err := ioutil.ReadAll(resp.Body)    if err != nil {        log.Fatal(err)    }    fmt.Println("####send msg##", string(body))    var assetList T3    err = json.Unmarshal(body, &assetList)    return &assetList}func main()  {    token1 := GetToken(CorpId, CorpSecret )    //fmt.Println(token1.AccessToken)    SendMessage(token1.AccessToken, "### hallo, ich bin TixnxxxXiang \n <font color=\\\"info\\\">Gutgen Tag</font> \n * Lexbzenhn", "lixxxxg@xiaoxxxxshu.com")}

python

def send_wechat_markdown(username, content):    url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxxxx&corpsecret=xxxxxxk"    re = requests.get(url)    token = json.loads(re.content).get("access_token")    print(token)    url2 = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token    data = {        "touser": username,        "msgtype": "markdown",        "agentid": xxxxxx,        "markdown": {            "content": content        },        "safe": 0    }    data2 = json.dumps(data)    r = requests.post(url2, data2)    print("###", r.text, "###")    r.close()