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

Salesforce 发送微信

2016-07-04 10:54 483 查看
global class WeChatUtil {
// 获取access_token的接口地址(GET)
//private String access_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=CorpID&corpsecret=SECRET';

/* private static String sTextMsg(String touser,String agentid,String content){
String replyMSG = '<xml>' +
'<ToUser><![CDATA[{0}]]></ToUser>' +
'<AgentId><![CDATA[{1}]]></AgentId>' +
'<Content><![CDATA[{2}]]></Content>' +
'<MsgType>text</MsgType>' +
'<Safe>0</Safe>' +
'</xml>';
String[] arguments = new String[]{touser,agentid,content};
return String.format(replyMSG, arguments );
}*/

private static String sTextMsg(String touser,String agentid,String msgType,String content){
String jsonInput = '{\n' +
' "touser" :"'+touser+'",\n' +
' "agentid" :'+agentid+',\n' +
' "msgtype" : "'+msgType+'",\n' +
' "text" : { "content":"'+content+'"} ,\n' +
' "safe" : "0",\n' +
'}';
return jsonInput;
}

private static String getToken() {
String corpid=Label.WaChatCorpID;//wx85e258caf2f54c67
String corpsecret=Label.WeChatCorpSecret;//36QvfbRYFgGuPNVTl62IjrOvQVvmDGymqKbZjfD_6H070EqjpeBRzfC2Ai_nTg8E
String access_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='+corpid+'&corpsecret='+corpsecret+'';
String token = '';
Integer expires_in=0;
//发送http请求,需要在远程站点设置用设置访问的网址url,否则请求会失败
HttpRequest req = new HttpRequest();
req.setEndpoint(access_token_url );
req.setMethod('POST');
req.setTimeout(12000);
Http http = new Http();
HttpResponse res = http.send(req);
System.debug(res.getStatus()+'==============sms result========' +'|'+res.getStatusCode());
System.debug('==============sms result2========' +'|'+res.getBody());

// Parse JSON response to get all the totalPrice field values.
JSONParser parser = JSON.createParser(res.getBody());

while (parser.nextToken() != null) {
if ((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&
(parser.getText() == 'access_token')) {
// Get the value.
parser.nextToken();
token= parser.getText();
System.debug('==============sms getToken========' +'|'+token);
}else  if ((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&
(parser.getText() == 'expires_in')) {
// Get the value.
parser.nextToken();
expires_in= parser.getIntegerValue();
System.debug('==============sms getToken========' +'|'+expires_in);
}

}

return token;
}

private static String httpRequest(String toUser,String agentId,String msgType,String content) {
String access_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN';
Integer errcode ;
String errmsg = '';
access_token_url=access_token_url.replace('ACCESS_TOKEN', getToken());
//发送http请求,需要在远程站点设置用设置访问的网址url,否则请求会失败
HttpRequest req = new HttpRequest();
req.setEndpoint(access_token_url);
// req.setHeader('X-PrettyPrint','true');
req.setMethod('POST');
//   req.setHeader('Content-Type','application/json');
req.setTimeout(12000);
req.setBody(sTextMsg(toUser,agentId,msgType,content));
Http http = new Http();
HttpResponse res = http.send(req);
System.debug(res.getStatus()+'==============sms result========' +'|'+res.getStatusCode());
System.debug(access_token_url+'==============sms result2========' +'|'+res.getBody());
//  System.debug('==============sms sTextMsg========' +'|'+sTextMsg('"ai.gh"','6','"helloWorld!"'));

// Parse JSON response to get all the  field values.
/*     JSONParser parser = JSON.createParser(res.getBody());

while (parser.nextToken() != null) {
if ((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&
(parser.getText() == 'errcode')) {
// Get the value.
parser.nextToken();
errcode= parser.getIntegerValue();
System.debug('==============sms errcode========' +'|'+errcode);
}else  if ((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&
(parser.getText() == 'errmsg')) {
// Get the value.
parser.nextToken();
errmsg= parser.getText();
System.debug('==============sms errmsg========' +'|'+errmsg);
}

}*/

return res.getBody();
}

/*
*发送微信
*/
webservice static String sendWeChat(String toUser,String agentId,String msgType,String content) {

return httpRequest(toUser,agentId,msgType,content);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  salesforce 微信