微信企业号主动发送
来源:互联网 发布:java apache 编辑:程序博客网 时间:2024/05/16 12:43
微信主动发送的原理:首先通过微信企业号申请来的ID和密码获取accessToken。有了accessToken可以调用微信接口主动发送。
package web.report.controller;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.DefaultHttpParams;
import net.sf.json.JSONObject;
import serviceApi.report.SystemPropertyServiceFace;
import web.report.vo.SystemPropertyVO;
public class WXSendInfo {
public WXSendInfo(){
}
public WXSendInfo(String CORPID,String CORPSECRET){
this.CORPID = CORPID;
this.CORPSECRET = CORPSECRET;
}
String MSGTYPE = "text";
String CORPID;
String CORPSECRET;
String CREATE_SESSION_URL = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=";
public String getAccessToken(){
String ACCESS_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+CORPID+"&corpsecret="+CORPSECRET;
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(ACCESS_TOKEN_URL);
post.releaseConnection();
post.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
NameValuePair[] param = {new NameValuePair("corpid",CORPID),new NameValuePair("corpsecret",CORPSECRET)};
DefaultHttpParams.getDefaultParams().setParameter("http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY);
post.setRequestBody(param);
String result = "";
try {
client.executeMethod(post);
result = new String(post.getResponseBodyAsString().getBytes("gbk"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject jsonObject = JSONObject.fromObject(result);
result = (String)jsonObject.getString("access_token");
System.out.println(result);
post.releaseConnection();
return result;
}
public void sendWeChatMsgText(String touser,String topary,String totag,String content,String safe){
URL url;
String ACCESS_TOKEN = getAccessToken();
String action = CREATE_SESSION_URL + ACCESS_TOKEN;
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"touser\":" + "\""+touser + "\",");
sb.append("\"topary\":" + "\"" + topary + "\",");
sb.append("\"totag\":" + "\"" + totag + "\",");
sb.append("\"msgtype\":"+ "\"" + MSGTYPE + "\",");
sb.append("\"text\":" + "{");
sb.append("\"content\":" + "\"" + content + "\"");
sb.append("}");
sb.append(",\"safe\":" + "\"" + safe + "\",");
sb.append("\"agentid\":" + "\"" + totag + "\",");
sb.append("\"debug\":" + "\"" + "1" + "\"");
sb.append("}");
String json = sb.toString();
try {
url = new URL(action);
HttpsURLConnection http = (HttpsURLConnection)url.openConnection();
http.setRequestMethod("POST");
http.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
http.setDoInput(true);
http.setDoOutput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
http.connect();
OutputStream os = http.getOutputStream();
os.write(json.getBytes("UTF-8"));
InputStream is = http.getInputStream();
int size = is.available();
byte[] jsonBytes = new byte[size];
is.read(jsonBytes);
String result = new String(jsonBytes,"UTF-8");
System.out.println(result);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 微信企业号主动发送
- 微信企业号开发:主动发送消息
- 微信企业号开发:主动发送消息
- 微信企业号给关注的用户主动发送推送消息
- 微信企业号开发三:主动调用模式之发送news消息
- 【fastweixin框架教程6】微信企业号给关注的用户主动发送推送消息
- 微信企业号开发(2)--建立连接(主动)
- 微信企业号主动下发消息提示60011错误
- 微信开发 获取Token、主动给企业成员发送消息
- 微信-获取Token,主动给企业成员发送消息(3)
- Java企业微信开发_05_消息推送之发送消息(主动)
- Java企业微信开发_04_消息推送之发送消息(主动)
- 微信企业号,发送消息
- C# 微信企业号--发送消息
- 微信企业号,文本信息发送
- 微信企业号的消息发送
- 微信企业号发送信息
- 微信企业号开发一:主动调用模式之TOKEN申请
- Redis Cluster 集群扩容与收缩
- 检测视频中特定颜色
- 集合框架——定义泛型类
- Base64算法
- 结构体初始化及结构体指针.结构体数组.结构体函数的调用赋值等
- 微信企业号主动发送
- hihoOffer收割练习20题目2
- jQuery LightBox插件原理的简单实现
- HBase集群启动脚本流程分析
- 生物信息脚本练习(3)gb文件转换
- ssm框架整合测试
- HDU5934Bomb(强连通缩点)
- UIAutomator之---UiObject
- 《网络经济与企业管理》第一遍思维导图