package main
import (
"bytes"
"encoding/json"
"io/ioutil"
"net/http"
"os"
)
type JSON struct {
Access_token string `json:"access_token"`
}
type MESSAGES struct {
Touser string `json:"touser"`
Toparty string `json:"toparty"`
Msgtype string `json:"msgtype"`
Agentid int `json:"agentid"`
Text struct {
//Subject string `json:"subject"`
Content string `json:"content"`
} `json:"text"`
Safe int `json:"safe"`
}
func Get_AccessToken(corpid,corpsecret string) string {
gettoken_url := "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret
//print(gettoken_url)
client := &http.Client{}
req, _ := client.Get(gettoken_url)
defer req.Body.Close()
body, _ := ioutil.ReadAll(req.Body)
//fmt.Printf("\n%q",string(body))
var json_str JSON
json.Unmarshal([]byte(body), &json_str)
//fmt.Printf("\n%q",json_str.Access_token)
return json_str.Access_token
}
func Send_Message(access_token,msg string) {
send_url := "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + access_token
//print(send_url)
client := &http.Client{}
req, _ := http.NewRequest("POST", send_url, bytes.NewBuffer([]byte(msg)))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("charset","UTF-8")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
//fmt.Println("response Status:", resp.Status)
//body, _ := ioutil.ReadAll(resp.Body)
//fmt.Println("response Body:", string(body))
}
func messages(touser string,toparty string,agentid int,content string) string{
msg := MESSAGES{
Touser: touser,
Toparty: toparty,
Msgtype: "text",
Agentid: agentid,
Safe: 0,
Text: struct {
//Subject string `json:"subject"`
Content string `json:"content"`
}{Content: content},
}
sed_msg, _ := json.Marshal(msg)
//fmt.Printf("%s",string(sed_msg))
return string(sed_msg)
}
func main(){
touser := "BigBoss" //企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
toparty := "2" //企业号中的部门id。
agentid:= 1000002 //企业号中的应用id。
corpid := "xxxxxxxxxxxxxxxxx" //企业号的标识
corpsecret := "exxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ///企业号中的应用的Secret
access_token := Get_AccessToken(corpid,corpsecret)
subject := os.Args[2] //获取zabbix传进来的第一个参数
content := subject + "\n" + os.Args[3] //获取zabbix传进来的第二个参数
msg := messages(touser,toparty,agentid,content)
//fmt.Println(msg)
Send_Message(access_token,msg)
//fmt.Println("\n")
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
软件人才管理的艺术
Michael Lopp / 罗小平 / 人民邮电出版社 / 201008 / 35.00元
本书作者具有15年的硅谷人才管理经验,他在博客上发表了大量探讨软件人才的管理之道的文章,深受读者欢迎。本书素材取自他的博客文章,用深入浅出的语言,讲述发人深思的道理,具有很强的现实操作性。 本书分为三大部分:“管理的箭袋”、“过程就是产品”、“你的其他版本”。前两部分分别讲述了人员与产品的管理,第三部分除了讨论管理之外,还讲述了如何有针对性地准备简历和电话面试,来提高自己面试成功的几率。书中......一起来看看 《软件人才管理的艺术》 这本书的介绍吧!