Golang实现发送微信模板消息(每日一句和天气预报)
前言
本文是基于https://www.cnblogs.com/connect/p/python-wechat-iciba.html 这篇博客写成的。该博客实现了用python将金山词霸的每日一句推送到微信公众测试号,我想既然python能实现,那么用Golang也可以。
后来又加了每天早晨定时给自己和女朋友发天气预报提醒,开始着手做,gogogo!
运行环境
- 阿里云Linux服务器
- Go开发环境
完整的项目代码:https://github.com/qq737310694/WechatTemplate
一、获取接口数据
1、每日一句接口
调用地址:http://open.iciba.com/dsapi/
请求方式:GET
请求参数:
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
date | 否 | string | 格式为:2013-05-06;如果date为空,则默认取当天 |
type | 否 | string | 可选值为last和next;以date日期为准的,last返回前一天的,next返回后一天的 |
返回类型:JSON
JSON字段解释:
属性名 | 属性值类型 | 说明 |
---|---|---|
sid | string | 每日一句ID |
tts | string | 音频地址 |
content | string | 英文内容 |
note | string | 中文内容 |
love | string | 每日一句喜欢个数 |
translation | string | 词霸小编 |
picture | string | 图片地址 |
picture2 | string | 大图片地址 |
caption | string | 标题 |
dateline | string | 时间 |
s_pv | string | 浏览数 |
sp_pv | string | 语音评测浏览数 |
tags | array | 相关标签 |
fenxiang_img | string | 合成图片,建议分享微博用的 |
返回示例:
{
"sid": "3369",
"tts": "http://news.iciba.com/admin/tts/2019-04-23-day.mp3",
"content": "There is no such thing as a great talent without great will.",
"note": "没有伟大的意志力,便没有雄才大略。",
"love": "197",
"translation": "小编的话:正如爱迪生所说一般,强者容易坚强。只有坚强的意志力才能给我们克服各种困难的勇气和决心。",
"picture": "http://cdn.iciba.com/news/word/20190423.jpg",
"picture2": "http://cdn.iciba.com/news/word/big_20190423b.jpg",
"caption": "词霸每日一句",
"dateline": "2019-04-23",
"s_pv": "0",
"sp_pv": "0",
"tags": [
{
"id": null,
"name": null
}
],
"fenxiang_img": "http://cdn.iciba.com/web/news/longweibo/imag/2019-04-23.jpg"
}
请求示例:
type sentence struct {
Content string `json:"content"`
Note string `json:"note"`
Translation string `json:"translation"`
}
func getsen() (sentence, string) {
resp, err := http.Get("http://open.iciba.com/dsapi/?date")
sent := sentence{}
if err != nil {
fmt.Println("获取每日一