asp.net 如何主动调用微信企业号接口,发送文本消息

edisongao 2015-02-11 02:08:47
请教一下,公司网站是用asp.net(2003)开发的,现在想主动调用微信企业号的接口,发送文本信息,发送给相关人员,网上找了很久,没有看到.net03有关的源码参考,谁有这方面的经验或推荐资料吗
...全文
12389 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
luhansunny 2016-11-28
  • 打赏
  • 举报
回复
引用 21 楼 qq_25009367 的回复:
[quote=引用 20 楼 luhansunny 的回复:] [quote=引用 19 楼 qq_32065643 的回复:] [quote=引用 16 楼 luhansunny 的回复:] 谢14楼!!用起来了!发送成功了
你好 你做的也是企业号微信推送吗?请问有源代码吗?[/quote] 14楼的源码能用啊,我就是用的14楼的源码通过企业号发送消息发送成功的。[/quote] 你好 这个代码是群发,还是可以发送给指定的人?[/quote] 都可以的,你自己把调用函数那边改一下就行,如果userid设置为@all,那么就是默认为是群发,你也可以设置partyid什么的
qq_25009367 2016-11-14
  • 打赏
  • 举报
回复
引用 20 楼 luhansunny 的回复:
[quote=引用 19 楼 qq_32065643 的回复:] [quote=引用 16 楼 luhansunny 的回复:] 谢14楼!!用起来了!发送成功了
你好 你做的也是企业号微信推送吗?请问有源代码吗?[/quote] 14楼的源码能用啊,我就是用的14楼的源码通过企业号发送消息发送成功的。[/quote] 你好 这个代码是群发,还是可以发送给指定的人?
luhansunny 2016-11-03
  • 打赏
  • 举报
回复
引用 19 楼 qq_32065643 的回复:
[quote=引用 16 楼 luhansunny 的回复:] 谢14楼!!用起来了!发送成功了
你好 你做的也是企业号微信推送吗?请问有源代码吗?[/quote] 14楼的源码能用啊,我就是用的14楼的源码通过企业号发送消息发送成功的。
qq_32065643 2016-09-21
  • 打赏
  • 举报
回复
引用 16 楼 luhansunny 的回复:
谢14楼!!用起来了!发送成功了
你好 你做的也是企业号微信推送吗?请问有源代码吗?
k6780384 2016-07-25
  • 打赏
  • 举报
回复
WXPostDataCrypt这个类是你们自己写的?跪求WXPostDataCrypt这个类
  • 打赏
  • 举报
回复
14楼好牛 学习
luhansunny 2016-07-04
  • 打赏
  • 举报
回复
谢14楼!!用起来了!发送成功了
qq_22705557 2015-08-10
  • 打赏
  • 举报
回复
引用 14 楼 lft378043672 的回复:
/// <summary> /// 获取企业号的accessToken /// </summary> /// <param name="corpid">企业号ID</param> /// <param name="corpsecret">管理组密钥</param> /// <returns></returns> public string GetQYAccessToken(string corpid, string corpsecret) { string getAccessTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}"; string accessToken = ""; string respText = ""; //获取josn数据 string url = string.Format(getAccessTokenUrl, corpid, corpsecret); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream resStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(resStream, Encoding.Default); respText = reader.ReadToEnd(); resStream.Close(); } try { JavaScriptSerializer Jss = new JavaScriptSerializer(); Dictionary<string, object> respDic = (Dictionary<string, object>)Jss.DeserializeObject(respText); //通过键access_token获取值 accessToken = respDic["access_token"].ToString(); } catch (Exception ex) { } return accessToken; } /// <summary> /// Post数据接口 /// </summary> /// <param name="postUrl">接口地址</param> /// <param name="paramData">提交json数据</param> /// <param name="dataEncode">编码方式</param> /// <returns></returns> public string PostWebRequest(string postUrl, string paramData, Encoding dataEncode) { string ret = string.Empty; try { byte[] byteArray = dataEncode.GetBytes(paramData); //转化 HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl)); webReq.Method = "POST"; webReq.ContentType = "application/x-www-form-urlencoded"; webReq.ContentLength = byteArray.Length; Stream newStream = webReq.GetRequestStream(); newStream.Write(byteArray, 0, byteArray.Length);//写入参数 newStream.Close(); HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.Default); ret = sr.ReadToEnd(); sr.Close(); response.Close(); newStream.Close(); } catch (Exception ex) { return ex.Message; } return ret; } /// <summary> /// 推送信息 /// </summary> /// <param name="corpid">企业号ID</param> /// <param name="corpsecret">管理组密钥</param> /// <param name="paramData">提交的数据json</param> /// <param name="dataEncode">编码方式</param> /// <returns></returns> public string SendQYMessage(string corpid, string corpsecret, string paramData, Encoding dataEncode) { string accessToken = GetQYAccessToken(corpid, corpsecret); string postUrl = string.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", accessToken); return PostWebRequest(postUrl, paramData, dataEncode); } 调用: string responeJsonStr = "{"; responeJsonStr += "\"touser\": \"" + UserOID + "\","; responeJsonStr += "\"msgtype\": \"text\","; responeJsonStr += "\"agentid\": \"3\","; responeJsonStr += "\"text\": {"; responeJsonStr += " \"content\": \"" + Message + "\""; responeJsonStr += "},"; responeJsonStr += "\"safe\":\"0\""; responeJsonStr += "}"; WXPostDataCrypt wxcpt = new WXPostDataCrypt(); TextBox1.Text = wxcpt.SendQYMessage(sCorpID, corpsecret, responeJsonStr, Encoding.UTF8); 试试这个
你好,这方法心在还可以用吗
lft378043672 2015-03-16
  • 打赏
  • 举报
回复
/// <summary> /// 获取企业号的accessToken /// </summary> /// <param name="corpid">企业号ID</param> /// <param name="corpsecret">管理组密钥</param> /// <returns></returns> public string GetQYAccessToken(string corpid, string corpsecret) { string getAccessTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}"; string accessToken = ""; string respText = ""; //获取josn数据 string url = string.Format(getAccessTokenUrl, corpid, corpsecret); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream resStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(resStream, Encoding.Default); respText = reader.ReadToEnd(); resStream.Close(); } try { JavaScriptSerializer Jss = new JavaScriptSerializer(); Dictionary<string, object> respDic = (Dictionary<string, object>)Jss.DeserializeObject(respText); //通过键access_token获取值 accessToken = respDic["access_token"].ToString(); } catch (Exception ex) { } return accessToken; } /// <summary> /// Post数据接口 /// </summary> /// <param name="postUrl">接口地址</param> /// <param name="paramData">提交json数据</param> /// <param name="dataEncode">编码方式</param> /// <returns></returns> public string PostWebRequest(string postUrl, string paramData, Encoding dataEncode) { string ret = string.Empty; try { byte[] byteArray = dataEncode.GetBytes(paramData); //转化 HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl)); webReq.Method = "POST"; webReq.ContentType = "application/x-www-form-urlencoded"; webReq.ContentLength = byteArray.Length; Stream newStream = webReq.GetRequestStream(); newStream.Write(byteArray, 0, byteArray.Length);//写入参数 newStream.Close(); HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.Default); ret = sr.ReadToEnd(); sr.Close(); response.Close(); newStream.Close(); } catch (Exception ex) { return ex.Message; } return ret; } /// <summary> /// 推送信息 /// </summary> /// <param name="corpid">企业号ID</param> /// <param name="corpsecret">管理组密钥</param> /// <param name="paramData">提交的数据json</param> /// <param name="dataEncode">编码方式</param> /// <returns></returns> public string SendQYMessage(string corpid, string corpsecret, string paramData, Encoding dataEncode) { string accessToken = GetQYAccessToken(corpid, corpsecret); string postUrl = string.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", accessToken); return PostWebRequest(postUrl, paramData, dataEncode); } 调用: string responeJsonStr = "{"; responeJsonStr += "\"touser\": \"" + UserOID + "\","; responeJsonStr += "\"msgtype\": \"text\","; responeJsonStr += "\"agentid\": \"3\","; responeJsonStr += "\"text\": {"; responeJsonStr += " \"content\": \"" + Message + "\""; responeJsonStr += "},"; responeJsonStr += "\"safe\":\"0\""; responeJsonStr += "}"; WXPostDataCrypt wxcpt = new WXPostDataCrypt(); TextBox1.Text = wxcpt.SendQYMessage(sCorpID, corpsecret, responeJsonStr, Encoding.UTF8); 试试这个
chenzhe014 2015-03-04
  • 打赏
  • 举报
回复
你说的是群发信息吗?
myhope88 2015-03-03
  • 打赏
  • 举报
回复
直接调用微信提供客服接口就行了吧
edisongao 2015-03-03
  • 打赏
  • 举报
回复
引用 10 楼 myhope88 的回复:
直接调用微信提供客服接口就行了吧
但是c#如何调用,跪求源码相助啊
edisongao 2015-03-01
  • 打赏
  • 举报
回复
有人能详细指点下吗?
edisongao 2015-02-12
  • 打赏
  • 举报
回复
跪求哪位大神有源码相助啊!谢谢
edisongao 2015-02-12
  • 打赏
  • 举报
回复
引用 7 楼 jun471537173 的回复:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = “POST”; byte[] bytes = Encoding.Default.GetBytes(requestData); request.ContentLength = bytes.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(bytes, 0, bytes.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { StreamReader reader = new StreamReader(response.GetResponseStream()); string content = reader.ReadToEnd(); }
能再详细点吗?
jun471537173 2015-02-12
  • 打赏
  • 举报
回复
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = “POST”; byte[] bytes = Encoding.Default.GetBytes(requestData); request.ContentLength = bytes.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(bytes, 0, bytes.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { StreamReader reader = new StreamReader(response.GetResponseStream()); string content = reader.ReadToEnd(); }
edisongao 2015-02-11
  • 打赏
  • 举报
回复
引用 3 楼 tcmakebest 的回复:
找找官网上相关教程的,下面是简要代码:
    public static void DoSendText(string access_token, string touser, string content)
    {
        Uri u = new Uri(string.Format("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}"
            , access_token));

        SendRequest(u, ToJson(content));
    }

    public static string ToJson<T>(string content)
    {
        // 生成 "text"="xxx" 的JSON
    }

    private static void SendRequest(Uri uri, string p)
    {
        string res = CodeNet.SendRequest(uri, p);
        if (res.Length > 0)
        {
            //CheckError(res);
        }
    }

    public static string SendRequest(Uri uri, string body)
    {
        WebClient wc = new WebClient();
        Encoding enc = Encoding.UTF8;
        return enc.GetString(wc.UploadData(uri, enc.GetBytes(body)));
    }
有没有详细代码呢?
edisongao 2015-02-11
  • 打赏
  • 举报
回复
引用 2 楼 FoxDave 的回复:
文章讲的是用C#开发微信企业公众号的接口 你是想调用这个接口去发消息 那就调用发消息的那个web服务就可以了 C#调用WebService,搜索这个
一语点破,谢谢。那我试试看,再搜索一下,看看有没有思路
tcmakebest 2015-02-11
  • 打赏
  • 举报
回复
找找官网上相关教程的,下面是简要代码:
    public static void DoSendText(string access_token, string touser, string content)
    {
        Uri u = new Uri(string.Format("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}"
            , access_token));

        SendRequest(u, ToJson(content));
    }

    public static string ToJson<T>(string content)
    {
        // 生成 "text"="xxx" 的JSON
    }

    private static void SendRequest(Uri uri, string p)
    {
        string res = CodeNet.SendRequest(uri, p);
        if (res.Length > 0)
        {
            //CheckError(res);
        }
    }

    public static string SendRequest(Uri uri, string body)
    {
        WebClient wc = new WebClient();
        Encoding enc = Encoding.UTF8;
        return enc.GetString(wc.UploadData(uri, enc.GetBytes(body)));
    }
Justin-Liu 2015-02-11
  • 打赏
  • 举报
回复
文章讲的是用C#开发微信企业公众号的接口 你是想调用这个接口去发消息 那就调用发消息的那个web服务就可以了 C#调用WebService,搜索这个
加载更多回复(1)

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧