微信开发第三篇:微信开发者接入 -辅助类

2019-03-20 10:13|来源: 网路

微信开发工具类,包括获取获取access_token获取用户发送的信息、获取微信服务器IP地址。


package com.ll.wechart.util;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdom.Document;
import org.jdom.Element;
import com.ll.wechart.bean.WechartMessageBean;
import com.ll.xml.XmlUtil;

public class GetWeChartFunction {
private Log log = LogFactory.getLog(this.getClass().getName());
String resp ="";//调用返回信息
public static void main(String[] args) {
 GetWeChartFunction wc= new GetWeChartFunction();
 //System.out.println(wc.getAccess_token());
 //System.out.println(wc.getServerIP(WeChartPams.AccessToken));
 System.out.println(System.currentTimeMillis());
}
/**
 * 系统时间戳
 */
public static String getTimeStamp(){
 String timestamp=String.valueOf(System.currentTimeMillis());
 return timestamp;
}

/**
* 获取用户发送的信息
* @param xmlInfo
* @return
*/
public WechartMessageBean getMessgeUtil(String xmlInfo){
 WechartMessageBean mWechartMessageBean = new WechartMessageBean();
 try {
  Document document = null;
  document = XmlUtil.stringToXML(xmlInfo);
  Element rootElement = document.getRootElement(); // 取得根元素
  mWechartMessageBean = (WechartMessageBean) XmlUtil.xmlToBean(mWechartMessageBean, rootElement);
 } catch (Exception e) {
  log.error(e);
  return null;
 }
 return mWechartMessageBean;
}
/**
* 获取微信服务器IP地址
* 如果公众号基于安全等考虑,需要获知微信服务器的IP地址列表,以便进行相关限制,可以通过该接口获得微信服务器IP地址列表。
* @param accessToken
* @return
*/
public String getServerIP(String accessToken){
 String urlstr = "https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token="+accessToken+"";
 try{
  HttpURLConnection http = (HttpURLConnection) new URL(urlstr).openConnection();
  http.setRequestMethod("GET");  
  http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  http.setDoInput(true);
  System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒
  System.setProperty("sun.net.client.defaultReadTimeout", "30000");//读取超时30秒
  InputStream is = http.getInputStream();
  int size = is.available();
  byte[] buf = new byte[size];
  is.read(buf);
  resp = new String(buf,"UTF-8");  
 } catch (Exception e) {
    log.error(e);
 }
 return resp;
}
/**
 * @author liuli
 * 获取access_token
 * access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。
 * 开发者需要进行妥善保存。
 * access_token的存储至少要保留512个字符空间。
 * access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
 * 4jDowhQhY8Zr0CMoOhqc0uyvLX8oLOG2c-okF-mS8IGMBpO4gTBRX9d8-lC0aST3MRqjisj_P9ueYgvI1GdtxALIB01MW6GiPozibBonHe4
 */
public String getAccess_token(){
 String urlstr = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+WeChartPams.AppID+"&secret="+WeChartPams.AppSecret+"";
 try{
  HttpURLConnection http = (HttpURLConnection) new URL(urlstr).openConnection();
  http.setRequestMethod("GET");  
  http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  http.setDoInput(true);
  System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒
  System.setProperty("sun.net.client.defaultReadTimeout", "30000");//读取超时30秒
  InputStream is = http.getInputStream();
  int size = is.available();
  byte[] buf = new byte[size];
  is.read(buf);
  String resp = new String(buf,"UTF-8");  
  log.info("back info:" + resp);  
 } catch (Exception e) {
    log.error(e);
 }
 return resp;
}

}


转自:http://wenwang.iteye.com/blog/2228668


相关问答

更多

微信企业号是如何开发的?哪个微信第三方平台做得还不错?

微信企业号虽然功能很强大,但里面只有一些简单的应用,企业号提供接口,需要第三方公司来开发各种功能,我知道的有企微、动酷,做的还不错。

java微信卡券如何开发,给个例子参考,谢谢

使用wechat-card module可以按照以下操作: var card = { card_type: "DISCOUNT", base_info: { // ... }, special_info: { // ... } }; wxCard.card.createCard(card, function(err, cardId) { // 创建成功后,返回卡券的ID });

微信开发者模式是什么

开发模式可以实现的功能 1、可以接收用户发送过来的消息,通过你自己开发的系统把对应内容反馈回去。 2、可以接收用户发送过来的地理位置,通过地理位置你可以反馈附近餐厅信息或交通信息(例如高德地图) 3、通过事件推送,可以识别用户对公众帐号订阅和取消订阅操作的情况。 4、开发模式的接口除了可以反馈图文消息,也可以反馈音频内容给用户。 5、可以通过通用接口上传图片、语音、视频等内容到公众平台上,并且可以调用这些素材 6、可以管理自定义菜单功能。(该功能还在内测中)

微信公众平台的开发者模式有哪些功能?

太多太多了,这么说吧,微信公众平台只有最简单的图片文字和视频,而且大小都是有限制的,如果你想更多的功能必须用开发模式。看这个视频,绑定第三方平台,就能开发了。

目前微信公众平台的开发者模式能实现那些功能?

新版微信公众平台去除了编辑模式和开发模式,让普通用户更方便地使用公众号,开发者也可以在开发者中心中,统一管理开发资源、权限和配置。微信公众平台开发者中心功能的使用方便了更多的微信用户,也方便了我们的生活。

微信公众平台开发者PHP代码类填写

你是想在自定义菜单里面建一个叫“公司简介”的,点进去就是介绍? 根本用不着开发模式上代码,图文消息就够用了。 你在素材管理里面建一个图文消息,写你的简介内容,配上图。预览之后提取了地址,在自定义菜单设置里面,把这个图文消息地址填上就行。可以发送到自己微信小号做测试,满意了再保存发布。 接收预览的微信小号必须是字母开头的才行。

微信公众平台开发者中心

登录微信公众平台,点击左下角的 开发者工具,即可看到相关文档。

微信公共平台如何成为开发者???

申请好公众平台后,打开开发模式就可以成为开发者了,不一定非要编程,直接接入第三方接口就行,这样会获得一些工作。 想要更多的功能就需要涉及到编程了,看你账号的需求性了。

微信公众平台开发者接入 然后用代码制作网页

我是用新浪的sinaapp开发者平台里创建php代码开发的,百度开发者平台也可以,前提你必须要懂得php代码。不然做了也是白搭。其次端口对接token与Access_Token,还要引用外部链接OAuth2.0网页授权还必须微信认证。

微信公众号开发

再小的个体也有自己的品牌。微信对于企业来说是另一块新的战场,微信是为了满足移动互联网的需东要而出现的。有的数据也非常符合移动互联网大数据的特点。那么企业为什么要做微信公众帐号? 通过微信做好客户关系管理比如:新方客户,老客户,会员级别管理等都可以通过微信来管理。 做好富媒体应用 如:可以为媒体制作一个图文混合模板,还可以带上视频、音频财,在后台还可运作些数据分析。 做好线下数据分析和商业决策指导 比如:有了微信用户数据之后,不仅可以满足销售,甚至还可以对商家富的的经营决策产生影响。消费者及时反馈的 ...