示例#1
0
        /// <summary>
        /// 获取永久素材,返回ArticleItemsInfo、VideoMaterialResult或fileName
        /// </summary>
        /// <param name="mediaId">永久素材的媒体文件ID</param>
        /// <param name="filePathName">指定个临时包含路径的文件名</param>
        /// <returns>图文素材请解析为ArticleItemsInfo,视频素材请解析为VideoMaterialResult,其他素材为实际保存好的包含路径的文件名</returns>
        public WeChatResult <string> GetMaterial(string mediaId, string filePathName)
        {
            string accessToken = connect.GetAccessToken();
            string url         = $"https://api.weixin.qq.com/cgi-bin/material/get_material?access_token={accessToken}";

            try
            {
                string fileName = SimulateRequest.DownloadFilePost(url, filePathName, new
                {
                    media_id = mediaId
                });
                WeChatResult <string> weChatResult = new WeChatResult <string>("{\"errcode\":0,\"errmsg\":\"SUCCESS\"}");
                weChatResult.resultData = fileName;
                return(weChatResult);
            }
            catch (Exception ex)
            {
                SystemLogHelper.Error(MethodBase.GetCurrentMethod(), $"获取永久素材GetMaterial,报错", ex);
                WeChatResult <string> errorResult = new WeChatResult <string>(ex.Message);
                return(errorResult);
            }
        }