如何在go语言中向企业微信发送应用消息
时间: 2023-09-13 17:06:26 浏览: 315
在 Go 语言中向企业微信发送应用消息,你可以使用企业微信提供的应用消息接口来实现。以下是一个简单的示例代码:
```go
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
type WeChatMessage struct {
ToUser string `json:"touser"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
Text struct {
Content string `json:"content"`
} `json:"text"`
}
func main() {
apiURL := "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=YOUR_ACCESS_TOKEN"
// 构建消息内容
message := WeChatMessage{
ToUser: "userid1|userid2", // 接收消息的用户,多个用户使用 | 分隔
MsgType: "text", // 消息类型为文本消息
AgentID: 1000001, // 企业微信应用的 AgentID
Text: struct {
Content string `json:"content"`
}{
Content: "这是一条来自企业微信应用的消息",
},
}
// 将消息内容转换为 JSON 格式
messageData, err := json.Marshal(message)
if err != nil {
fmt.Println("JSON marshal error:", err)
return
}
// 发送 POST 请求到企业微信的应用消息接口
resp, err := http.Post(apiURL, "application/json", bytes.NewReader(messageData))
if err != nil {
fmt.Println("HTTP request error:", err)
return
}
defer resp.Body.Close()
// 处理响应结果
if resp.StatusCode != http.StatusOK {
fmt.Println("API request failed:", resp.Status)
return
}
fmt.Println("Message sent successfully!")
}
```
请注意,在上述代码中,你需要将 `YOUR_ACCESS_TOKEN` 替换为你的企业微信应用的访问令牌(Access Token)。你可以通过企业微信提供的接口获取访问令牌,并确保访问令牌是有效的。
此外,还需要替换 `userid1|userid2` 为接收消息的用户的 UserID,多个用户之间使用 `|` 分隔。你可以在企业微信后台管理界面查找和管理用户的 UserID。
以上代码仅提供了一个基本的示例,你可以根据自己的实际需求进行扩展和调整。注意保护好访问令牌的安全性,避免泄露给未授权的人员。
阅读全文