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); } }
相关文章推荐
- 社交巨头三国杀:微信、WhatsApp、Line到底有啥区别?
- 微信悄悄升级群聊功能:个人微信营销号的福音
- 突击部队拼多多
- 我是运营,我没有假期
- 如何做到日消息量100万的微信公众号?
- 论微信取消推送功能的可能性(原创)
- 微信的成功,靠的是QQ导流吗?
- 「Linux 中国」2018 微信文章排行榜
- 马化腾亲自“站台” 企业微信和个人微信互通能带来什么?
- 一个微信群的兴亡
- 微信服务号推送模板消息接口
- C#微信公众号与订阅号接口开发示例代码
- 我也有微信朋友圈了 Android实现
- Android学习项目之简易版微信为例(一)
- PHP限制页面只能在微信自带浏览器访问的代码
- 微信公众平台开发之认证"成为开发者".Net代码解析