您的位置:首页 > 移动开发 > 微信开发

调用微信接口发送消息

2017-07-14 16:04 239 查看

region 微信接口

/// <summary>
/// 请求Url,发送json数据
/// </summary>
public static string PostUrl(string url, string postData)
{
byte[] data = Encoding.UTF8.GetBytes(postData);

// 设置参数
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
CookieContainer cookieContainer = new CookieContainer();
request.CookieContainer = cookieContainer;
request.AllowAutoRedirect = true;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream outstream = request.GetRequestStream();
outstream.Write(data, 0, data.Length);
outstream.Close();

//发送请求并获取相应回应数据
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
//直到request.GetResponse()程序才开始向目标网页发送Post请求
Stream instream = response.GetResponseStream();
StreamReader sr = new StreamReader(instream, Encoding.UTF8);
//返回结果网页(html)代码
string content = sr.ReadToEnd();
return content;
}

/// <summary>
/// 获取密钥
/// </summary>
/// <param name="corpid">appID</param>
/// <param name="corpsecret">secID</param>
/// <returns></returns>
public static string GetQYAccessToken(string corpid, string corpsecret)
{
string getAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={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
{
int start = respText.IndexOf("access_token");
int end = respText.IndexOf("expires_in");
start += 15;
end -= 3;
respText = respText.Substring(start, end - start);

//通过键access_token获取值
accessToken = respText;
}
catch (Exception ex) { }

return accessToken;
}

/// <summary>
/// 填充数据后返回json字符串
/// </summary>
/// <param name="touser"></param>
/// <param name="tmpid"></param>
/// <param name="title"></param>
/// <returns></returns>
public static string FillData(string touser,string tmpid,string title)
{
string responeJsonStr = "{";
responeJsonStr += "\"touser\": \"" + touser + "\",";
responeJsonStr += "\"template_id\": \"" + tmpid + "\",";
responeJsonStr += "\"url\": \"\",";
responeJsonStr += "\"topcolor\": \"#FF0000\",";
responeJsonStr += "  \"data\": {";
responeJsonStr += "  \"first\": {\"value\":\"" + title + "\",\"color\":\"#FF0000\"},";
responeJsonStr += "  \"name\": {\"value\":\"用户你好\",\"color\":\"#FF0000\"},";
responeJsonStr += "  \"user\": {\"value\":\"感谢你的支持\",\"color\":\"#FF0000\"}";
responeJsonStr += "}";
responeJsonStr += "}";
return responeJsonStr;
}

/// <summary>
/// 发送微信消息
/// </summary>
/// <param name="user">用户</param>
/// <param name="title">标题</param>
public static void SendWXmessage(string user,string title)
{
string mytoken = GetQYAccessToken("wx9f04b66052974517", "d4624c36b6795d1d99dcf0547af5443d");
PostUrl(string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", mytoken), FillData("oEA4av_bAk7ew5k8qLc-kmzX7_SM", "dZetMJDGa9yr-aej8r3oxXWO3eOtlWIZD_DVddOe5mM", title));
}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信