From 900a54ee065db952bb22c2ae5686773ebf8b80dd Mon Sep 17 00:00:00 2001 From: Chuanjian Wang Date: Tue, 15 Oct 2019 10:44:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=B0=B8?= =?UTF-8?q?=E4=B9=85=E7=B4=A0=E6=9D=90=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- material/material.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/material/material.go b/material/material.go index f4f1dfb..b7fdc32 100644 --- a/material/material.go +++ b/material/material.go @@ -13,6 +13,7 @@ const ( addNewsURL = "https://api.weixin.qq.com/cgi-bin/material/add_news" addMaterialURL = "https://api.weixin.qq.com/cgi-bin/material/add_material" delMaterialURL = "https://api.weixin.qq.com/cgi-bin/material/del_material" + getMaterialURL = "https://api.weixin.qq.com/cgi-bin/material/get_material" ) //Material 素材管理 @@ -36,6 +37,33 @@ type Article struct { ShowCoverPic int `json:"show_cover_pic"` Content string `json:"content"` ContentSourceURL string `json:"content_source_url"` + URL string `json:"url"` + DownURL string `json:"down_url"` +} + +// GetNews 获取/下载永久素材 +func (material *Material) GetNews(id string) ([]*Article, error) { + accessToken, err := material.GetAccessToken() + if err != nil { + return nil, err + } + uri := fmt.Sprintf("%s?access_token=%s", getMaterialURL, accessToken) + + var req struct { + MediaID string `json:"media_id"` + } + req.MediaID = id + responseBytes, err := util.PostJSON(uri, req) + + var res struct { + NewsItem []*Article `json:"news_item"` + } + err = json.Unmarshal(responseBytes, &res) + if err != nil { + return nil, err + } + + return res.NewsItem, nil } //reqArticles 永久性图文素材请求信息