コード例 #1
0
        /// <summary>
        /// 根据OpenID列表群发卡券消息(目前该接口仅支持填入非自定义code的卡券,自定义code的卡券需先进行code导入后调用。 )
        /// </summary>
        /// <param name="value">群发卡券时传入cardId</param>
        /// <param name="openIds">openId字符串数组(OpenID最少2个,最多10000个 )</param>
        /// <returns></returns>
        public ActionResult SendGroupMessageByOpenId(string value, string openIds)
        {
            if (!VerifyParam("value,openIds"))
            {
                return(ErrMsg());
            }

            string[] openIdArr = openIds.Split(',');

            var weChatConfig = GetWechatConfig();

            var ret = GroupMessageApi.SendGroupMessageByOpenId(weChatConfig.WeixinAppId, weChatConfig.WeixinCorpSecret, GroupMessageType.wxcard, value, 1000, openIdArr);

            if (ret.errcode == Weixin.ReturnCode.请求成功)
            {
                return(Json(new
                {
                    message = "",
                    success = true,
                    msg_id = ret.msg_id
                }));
            }
            else
            {
                return(Json(new
                {
                    message = ret.errmsg,
                    success = false
                }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                string           accessToken = Wx.accessToken;
                List <NewsModel> News        = new List <NewsModel>();
                int count;
                int.TryParse(Request.Form["lineCount"], out count);
                string Author   = "计算机应用技术2班20150301241梁阔雄";
                string AuthorID = Request.Form["AuthorID"];
                for (int i = 0; i < count; ++i)
                {
                    var file = Request.Files["Img" + i.ToString()];
                    if (file != null && !string.IsNullOrEmpty(file.FileName))
                    {
                        var r = Media2.UploadForeverMedia(Wx.accessToken, file);
                        News.Add(new NewsModel
                        {
                            title              = Request.Form["Title" + i.ToString()],
                            content            = Request.Form["Content" + i.ToString()],
                            content_source_url = Request.Form["Url" + i.ToString()],
                            author             = Author,
                            thumb_media_id     = r.media_id
                        });
                    }
                }

                if (News.Count > 0)
                {
                    var r1 = MediaApi.UploadNews(Wx.accessToken, News.ToArray());
                    var r2 = GroupMessageApi.SendGroupMessagePreview(Wx.accessToken, GroupMessageType.mpnews, r1.media_id, AuthorID);
                    ClientScript.RegisterStartupScript(GetType(), "1", "alert('成功发送消息');", true);
                }
            }
        }
コード例 #3
0
        public static RequestApiResult <WeixinGroupMessagePreviewResult> Preview(DomainContext domainContext, WeixinGroupMessagePreviewArgs args)
        {
            string accessToken = domainContext.AccessToken;
            RequestApiResult <WeixinGroupMessagePreviewResult> result = GroupMessageApi.Preview(accessToken, args);

            if (result.Success == false)
            {
                if (result.Retry)
                {
                    if (result.ApiError.ErrorCode == 40001)
                    {
                        accessToken = AccessTokenGetter.Refresh(domainContext.AppId, accessToken);
                    }

                    result = GroupMessageApi.Preview(accessToken, args);
                    if (result.Success == false)
                    {
                        _log.Write("GroupMessageApi.Preview 失败",
                                   result.GetDetail(), TraceEventType.Warning);
                    }
                }
                else
                {
                    _log.Write("GroupMessageApi.Preview 失败",
                               result.GetDetail(), TraceEventType.Warning);
                }
            }

            return(result);
        }
コード例 #4
0
        /// <summary>
        /// 删除群发消息
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="mediaId">发送出去的消息ID</param>
        /// <returns></returns>
        public static WxJsonResult DeleteSendMessage(string mediaId)
        {
            //获取accessToken
            string accessToken = GetAccessToken();

            return(GroupMessageApi.DeleteSendMessage(accessToken, mediaId));
        }
コード例 #5
0
        public WxJsonResult SendMedia(Wx_App app, long mediaId, bool isToAll = true)
        {
            var media  = Get(mediaId);
            var result = GroupMessageApi.SendGroupMessageByGroupId(app.AppId, null, media.MediaId, GetMessageType(media.Type), isToAll);

            WriteSendLog(mediaId, result);
            return(result);
        }
コード例 #6
0
        public void GetVideoMediaIdResultTest()
        {
            string mediaId = "Qk7qR9oZGG1CyzJ8ik3j3nElgY5xETEFAiTLrMsZJs9iAKarM7DopvxbREE7fINU";

            var accessToken = AccessTokenContainer.GetAccessToken(_appId);
            var result      = GroupMessageApi.GetVideoMediaIdResult(accessToken, mediaId, "test", "test");

            Assert.IsTrue(result.media_id.Length > 0);
        }
コード例 #7
0
        public void PreviewMedia(Wx_App app, long mediaId, string wxNames)
        {
            var media = Get(mediaId);

            wxNames.Split(',').Each(wxName =>
            {
                GroupMessageApi.SendGroupMessagePreview(app.AppId, GetMessageType(media.Type), media.MediaId, null, wxName);
            });
        }
コード例 #8
0
ファイル: WxManager.Send.cs プロジェクト: apphost/sscms
        public async Task PreviewSendAsync(string accessTokenOrAppId, MaterialType materialType, string value, string wxName)
        {
            if (string.IsNullOrEmpty(value) || string.IsNullOrWhiteSpace(wxName))
            {
                return;
            }

            await GroupMessageApi.SendGroupMessagePreviewAsync(accessTokenOrAppId, GetGroupMessageType(materialType), value,
                                                               null, StringUtils.Trim(wxName));
        }
コード例 #9
0
ファイル: GroupMessageTest.cs プロジェクト: huning1990/123
        public void GetGroupMessageResultTest()
        {
            var msgId = SendImageByOpenIdTest();

            var accessToken = AccessTokenContainer.GetAccessToken(_appId);
            var result      = GroupMessageApi.GetGroupMessageResult(accessToken, msgId);

            Assert.IsTrue(result.msg_id.Length > 0);
            Assert.AreEqual(result.msg_status, "SEND_SUCCESS");
        }
コード例 #10
0
ファイル: GroupMessageTest.cs プロジェクト: huning1990/123
        public void SendGroupMessagePreviewTest()
        {
            var videoMediaIdResult = GetVideoMediaIdResultTest();
            var groupSendResult    = GroupMessageApi.SendGroupMessagePreview(_appId, GroupMessageType.video, videoMediaIdResult.media_id, _testOpenId);

            Console.WriteLine("AppId:" + _appId);
            Console.WriteLine("OpenId:" + _testOpenId);
            Assert.IsNotNull(groupSendResult);
            Console.WriteLine(groupSendResult.ToJson());
        }
コード例 #11
0
        public void SendTextByOpenIdTest()
        {
            string content = "文本内容";

            string[] openIds = new string[] { _testOpenId };

            var accessToken = AccessTokenContainer.GetToken(_appId);
            var result      = GroupMessageApi.SendTextGroupMessageByOpenId(accessToken, content, Config.TIME_OUT, openIds);

            Assert.IsTrue(result.msg_id.Length > 0);
        }
コード例 #12
0
        /// <summary>
        /// 根据分组群发卡券消息(目前该接口仅支持填入非自定义code的卡券,自定义code的卡券需先进行code导入后调用。 )
        /// </summary>
        /// <param name="groupId">群发到的分组的group_id,参加用户管理中用户分组接口,若is_to_all值为true,可不填写group_id</param>
        /// <param name="value">群发卡券时传入cardId</param>
        /// <param name="isToAll">用于设定是否向全部用户发送,值为true或false,选择true该消息群发给所有用户,选择false可根据group_id发送给指定群组的用户</param>
        /// <returns></returns>
        public ActionResult SendGroupMessageByGroupId(string groupId, string value, bool isToAll)
        {
            string is_toall = isToAll.ToString();

            if (isToAll == true)
            {
                if (!VerifyParam("value,is_toall"))
                {
                    return(ErrMsg());
                }
            }
            else
            {
                if (!VerifyParam("groupId,value,is_toall"))
                {
                    return(ErrMsg());
                }

                if (string.IsNullOrEmpty(groupId))
                {
                    return(ErrMsg("groupId不能为空!"));
                }
            }


            if (string.IsNullOrEmpty(value))
            {
                return(ErrMsg("cardId不能为空!"));
            }


            var weChatConfig = GetWechatConfig();

            var ret = GroupMessageApi.SendGroupMessageByGroupId(weChatConfig.WeixinAppId, weChatConfig.WeixinCorpSecret, groupId, value, GroupMessageType.wxcard, isToAll);

            if (ret.errcode == Weixin.ReturnCode.请求成功)
            {
                return(Json(new
                {
                    message = "",
                    success = true,
                    msg_id = ret.msg_id
                }));
            }
            else
            {
                return(Json(new
                {
                    message = ret.errmsg,
                    success = false
                }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #13
0
ファイル: GroupMessageTest.cs プロジェクト: huning1990/123
        public void SendImageByGroupIdTest()
        {
            string file    = ""; //文件路径,以下以图片为例
            string groupId = ""; //分组Id

            var accessToken = AccessTokenContainer.GetAccessToken(_appId);
            var mediaId     = MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image, file).media_id;

            var result = GroupMessageApi.SendGroupMessageByGroupId(accessToken, groupId, mediaId, GroupMessageType.image, false);

            Assert.IsTrue(result.msg_id.Length > 0);
        }
コード例 #14
0
        public async Task <SendResult> PreviewMatial(PreviewModel model)
        {
            Senparc.Weixin.MP.GroupMessageType previewType = Senparc.Weixin.MP.GroupMessageType.mpnews;
            if (model.MessageType == MpMessageType.mpnews.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.mpnews;
            }
            if (model.MessageType == MpMessageType.mpmultinews.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.mpnews;
            }
            if (model.MessageType == MpMessageType.text.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.text;
            }
            if (model.MessageType == MpMessageType.video.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.video;
            }
            if (model.MessageType == MpMessageType.voice.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.video;
            }
            if (model.MessageType == MpMessageType.image.ToString())
            {
                previewType = Senparc.Weixin.MP.GroupMessageType.image;
            }

            var account = await _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> {
                Id = model.MpID
            });

            var        access_token = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(account.AppId, account.AppSecret);
            SendResult result       = null;

            try
            {
                result = GroupMessageApi.SendGroupMessagePreview(access_token, previewType, model.MediaID, model.OpenID, wxName: model.WxAccount);
            }
            catch
            {
                try
                {
                    access_token = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(account.AppId, account.AppSecret, true);
                    result       = GroupMessageApi.SendGroupMessagePreview(access_token, previewType, model.MediaID, model.OpenID, wxName: model.WxAccount);
                }
                catch (Exception e)
                {
                    throw new UserFriendlyException(e.Message);
                }
            }
            return(result);
        }
コード例 #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string sendCountTxt = Server.MapPath("sendcount.txt");
                try
                {
                    ddlSendCount.SelectedValue = File.ReadAllText(sendCountTxt);
                }
                catch
                {
                    File.WriteAllText(sendCountTxt, "6");
                    ddlSendCount.SelectedValue = "6";
                }



                for (int i = 0; i < 23; i++)
                {
                    ddlHour.Items.Add(
                        new ListItem(i.ToString() + "点", i.ToString())
                        );
                }
                for (int i = 0; i < 60; i++)
                {
                    ddlMinute.Items.Add(
                        new ListItem(i.ToString() + "分", i.ToString())
                        );
                }
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(Server.MapPath("quartz_jobs.xml"));
                XmlNodeList elemList = xmlDoc.GetElementsByTagName("cron-expression");
                var         node     = elemList[0];
                string[]    cronList = node.InnerText.Split(' ');//0 1 9 ? * TUE
                ddlMinute.SelectedValue = cronList[1];
                ddlHour.SelectedValue   = cronList[2];



                txtResult.Text = OracleHelper.CanConnect();
                if (txtResult.Text != "连接成功")
                {
                    var accessToken = AccessTokenContainer.TryGetToken(WebConfigurationManager.AppSettings["LongNameAppId"],
                                                                       WebConfigurationManager.AppSettings["LongNameAppSecret"]);
                    var json       = GroupsApi.Get(accessToken);
                    var groupId    = json.groups.Find(p => p.name == "开发小组").id.ToString();
                    var content    = " oracle数据库无法连接 异常信息为" + txtResult.Text;
                    var sendResult = GroupMessageApi.SendTextGroupMessageByGroupId(accessToken, groupId, content, false);
                }
            }
        }
コード例 #16
0
        //[TestMethod]
        public string SendImageByOpenIdTest()
        {
            string file = "";//文件路径,以下以图片为例

            string[] openIds = new string[] { _testOpenId };

            var accessToken = AccessTokenContainer.GetAccessToken(_appId);
            var mediaId     = MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image, file).media_id;
            var result      = GroupMessageApi.SendGroupMessageByOpenId(accessToken, GroupMessageType.image, mediaId, Config.TIME_OUT, openIds);

            Assert.IsTrue(result.msg_id.Length > 0);

            return(result.msg_id);
        }
コード例 #17
0
        //[TestMethod]
        public string SendImageByOpenIdTest()
        {
            string file = "C:\\Users\\roman\\Pictures\\捕获.PNG";//文件路径,以下以图片为例

            string[] openIds = new string[] { _testOpenId, "oIskUw5ONFqLqb4XUyLHQ7Lu5t64" };

            var accessToken = AccessTokenContainer.GetAccessToken(_appId);
            var mediaId     = MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image, file).media_id;
            var clientMsgId = DateTime.Now.Ticks.ToString();
            var result      = GroupMessageApi.SendGroupMessageByOpenId(accessToken, GroupMessageType.text, "你好lizejia", clientMsgId, Config.TIME_OUT, openIds);

            Assert.IsTrue(result.msg_id.Length > 0);

            return(result.msg_id);
        }
コード例 #18
0
ファイル: WxManager.Send.cs プロジェクト: apphost/sscms
 public async Task MassSendAsync(string accessTokenOrAppId, MaterialType materialType, string value, bool isToAll, string tagId, DateTime?runOnceAt)
 {
     if (runOnceAt.HasValue)
     {
         _taskManager.RunOnceAt(async() =>
         {
             await GroupMessageApi.SendGroupMessageByTagIdAsync(accessTokenOrAppId, tagId, value,
                                                                GetGroupMessageType(materialType), isToAll);
         }, runOnceAt.Value);
     }
     else
     {
         await GroupMessageApi.SendGroupMessageByTagIdAsync(accessTokenOrAppId, tagId, value,
                                                            GetGroupMessageType(materialType), isToAll);
     }
 }
コード例 #19
0
        public void SendTextByGroupIdTest()
        {
            string content = "文本内容";
            string groupId = "102";//分组Id

            var accessToken = AccessTokenContainer.GetToken(_appId);
            //发送给指定分组
            var result = GroupMessageApi.SendTextGroupMessageByGroupId(accessToken, groupId, content, false);

            Assert.IsTrue(result.msg_id.Length > 0);

            //发送给所有人
            var result_All = GroupMessageApi.SendTextGroupMessageByGroupId(accessToken, null, content, true);

            Assert.IsTrue(result.msg_id.Length > 0);
        }
コード例 #20
0
        /// <summary>
        /// 群发消息
        /// </summary>
        /// <param name="type">
        /// 群发类型Text = 0,
        /// News = 1,
        /// Music = 2,
        /// Image = 3,
        /// Voice = 4,
        /// Video = 5
        /// <param name="groupId">要发送的用户分组ID 发给所有的时候可以不输入</param>
        /// <returns>返回消息ID</returns>
        public string SendGroupMessageAll(int type, int groupId = -1)
        {
            var        accessToken = AccessTokenContainer.TryGetAccessToken(AppId, AppSecret);
            SendResult result      = null;
            bool       isToAll     = (groupId == -1);
            string     imgFilePath = Server.MapPath("~/logo.png");

            switch ((ResponseMsgType)type)
            {
            case ResponseMsgType.Text:
                result = GroupMessageApi.SendGroupMessageByGroupId(accessToken, groupId.ToString(),
                                                                   "测试的群发文本内容---来自北盟网校", GroupMessageType.text, isToAll);
                break;

            case ResponseMsgType.Image:
                UploadTemporaryMediaResult mediaImage =
                    MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image, imgFilePath);
                result = GroupMessageApi.SendGroupMessageByGroupId(accessToken, groupId.ToString(),
                                                                   mediaImage.media_id, GroupMessageType.image, isToAll);
                break;

            case ResponseMsgType.News:
                UploadTemporaryMediaResult mediaResultImage =
                    MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image, imgFilePath);
                NewsModel[] newsModels = new NewsModel[5];
                for (int i = 0; i < 5; i++)
                {
                    newsModels[i]                    = new NewsModel();
                    newsModels[i].title              = "标题" + i;
                    newsModels[i].author             = "作者";
                    newsModels[i].thumb_media_id     = mediaResultImage.media_id;
                    newsModels[i].show_cover_pic     = "http://weixin.bamn.cn/logo.png";
                    newsModels[i].content            = "内容";
                    newsModels[i].content_source_url = "http://www.bamn.cn";
                    newsModels[i].digest             = "描述";
                }
                var mediaResultNews = MediaApi.UploadTemporaryNews(accessToken, 10000, newsModels);
                result = GroupMessageApi.SendGroupMessageByGroupId(accessToken, groupId.ToString(),
                                                                   mediaResultNews.media_id, GroupMessageType.mpnews, isToAll);
                break;
            }

            return(result.errcode + "-" + result.errmsg);
        }
コード例 #21
0
        public void PreviewMpArticle(MpMediaArticlePreviewDto input)
        {
            var fans = _mpFanRepository.GetAll().Where(m => m.NickName == input.NickName && m.IsDeleted == false).ToList();

            if (fans != null && fans.Count > 0)
            {
                foreach (var fan in fans)
                {
                    var openId       = fan.OpenID;//粉丝OpenId;
                    var account      = _accountRepository.FirstOrDefault(m => m.Id == input.MpID);
                    var access_token = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(account.AppId, account.AppSecret);
                    var result       = GroupMessageApi.SendGroupMessagePreview(access_token, Senparc.Weixin.MP.GroupMessageType.mpnews, input.MediaID, openId);
                    if (result.errcode != Senparc.Weixin.ReturnCode.请求成功)
                    {
                        result = GroupMessageApi.SendGroupMessagePreview(access_token, Senparc.Weixin.MP.GroupMessageType.mpnews, input.MediaID, openId);
                    }
                }
            }
        }
コード例 #22
0
ファイル: MediaTest.cs プロジェクト: zongningliu/WeiXinMPSDK
        public void AfterDeleteNewsTest()
        {
            var accessToken = AccessTokenContainer.GetAccessToken(_appId);

            var file   = @"E:\1.jpg";
            var result = MediaApi.UploadForeverMedia(accessToken, file);

            Assert.IsNotNull(result.media_id);

            var new1 = new NewsModel()
            {
                author             = "test",
                content            = "test",
                content_source_url = "http://qy.weiweihi.com/Content/Images/app/qyhelper.png",
                digest             = "test",
                show_cover_pic     = "1",
                thumb_media_id     = result.media_id,
                title = "test"
            };

            var new2 = new NewsModel()
            {
                author             = "test",
                content            = "test111",
                content_source_url = "http://qy.weiweihi.com/Content/Images/app/qyhelper.png",
                digest             = "test",
                show_cover_pic     = "1",
                thumb_media_id     = result.media_id,
                title = "test"
            };

            var result1 = MediaApi.UploadNews(accessToken, 10000, new1, new2);

            Assert.IsNotNull(result1.media_id);

            var clientMsgId = SystemTime.Now.Ticks.ToString();

            GroupMessageApi.SendGroupMessageByOpenId(accessToken, GroupMessageType.mpnews, result1.media_id, clientMsgId, 10000, "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg", "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg");
            //var result2 = MediaApi.UpdateForeverNews(accessToken, result1.media_id, 0, 10000, new2);

            MediaApi.DeleteForeverMedia(accessToken, result1.media_id);
            //Assert.AreEqual(result2.errcode, ReturnCode.请求成功);
        }
コード例 #23
0
ファイル: GroupMessageTest.cs プロジェクト: huning1990/123
        public VideoMediaIdResult GetVideoMediaIdResultTest()
        {
            var videoFilePath = ServerUtility.ContentRootMapPath("video-test.mp4");

            Console.WriteLine("Video Path:" + videoFilePath);

            //上传视频
            var uploadResult = MediaApi.UploadTemporaryMedia(_appId, UploadMediaFileType.video, videoFilePath);

            Console.WriteLine("Video Upload Result:" + uploadResult);

            string mediaId = uploadResult.media_id;//也可以通过对公众号发送视频获得

            var result = GroupMessageApi.GetVideoMediaIdResult(_appId, mediaId, "test", "test");

            Assert.IsNotNull(result);
            Console.WriteLine("GetVideoMediaIdResult" + result.ToJson());
            Assert.IsNotNull(result.media_id);
            Assert.IsTrue(result.media_id.Length > 0);
            return(result);
        }
コード例 #24
0
 /// <summary>
 /// 群发图文消息给openidlsit用户
 /// </summary>
 /// <param name="appId"></param>
 /// <param name="nextOpenId"></param>
 /// <returns></returns>
 public async Task <SendResult> SendNewsToGroupUsersAsync(string appId, string mediaId, string[] opendis)
 {
     return(await GroupMessageApi.SendGroupMessageByOpenIdAsync(appId, GroupMessageType.mpnews, mediaId, null, 1000, opendis));
 }
コード例 #25
0
 public async Task <SendResult> SendGroupTextMessageByTagIdAsync(string appId, string tagId, string content, string clientmsgid)
 {
     return(await GroupMessageApi.SendGroupMessageByTagIdAsync(appId, tagId, content, GroupMessageType.text, false, false, clientmsgid, 10000));
 }
コード例 #26
0
 /// <summary>
 /// 群发图文消息给所有用户
 /// </summary>
 /// <param name="appId"></param>
 /// <param name="nextOpenId"></param>
 /// <returns></returns>
 public async Task <SendResult> SendNewsToAllUsersAsync(string appId, string mediaId)
 {
     return(await GroupMessageApi.SendGroupMessageByGroupIdAsync(appId, null, mediaId,
                                                                 GroupMessageType.mpnews, true, true));
 }
コード例 #27
0
 public async Task <SendResult> SendGroupTextMessageByOpenIdsAsync(string appId, string content, string clientmsgid, params string[] openIds)
 {
     return(await GroupMessageApi.SendGroupMessageByOpenIdAsync(appId,
                                                                GroupMessageType.text, content, clientmsgid, 10000, openIds));
 }
コード例 #28
0
 public async Task <SendResult> SendNewsByTagIdAsync(string appId, string tagId, string mediaId, string clientmsgid)
 {
     return(await GroupMessageApi.SendGroupMessageByTagIdAsync(appId, tagId, mediaId, GroupMessageType.mpnews, true, false, clientmsgid, 10000));
 }
コード例 #29
0
 public async Task <SendResult> SendGroupImageMessageByOpenIdAsync(string appId, string mediaId, params string[] openIds)
 {
     return(await GroupMessageApi.SendGroupMessageByOpenIdAsync(appId, GroupMessageType.image, mediaId, ""
                                                                , 10000, openIds));
 }
コード例 #30
0
        /// <summary>
        /// 预览图文消息-每日100次上限
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="openId"></param>
        /// <param name="articleId"></param>
        /// <returns></returns>
        public async Task <SendResult> SendNewsPreviewAsync(string appId, string openId, string mediaId)
        {
            var wxRet = await GroupMessageApi.SendGroupMessagePreviewAsync(appId, GroupMessageType.mpnews, mediaId, openId);

            return(wxRet);
        }