微信分享后台接口简单实现

  介绍

这篇文章主要介绍了微信分享后台接口简单实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

微信分享后台接口简单实现

此接口大致的流程是:用户创建时间戳,随机字符串,当前需要分享的页面的url三个变量,接着将自己的appid和APPsecret作为请求参数获取access_token,再根据access_token获取jsapi_ticket,并将获取的jsapi-ticket进行加密,校验以及自己创建的三个变量进行签名,注意签名过程案按照关键值ASCII码升序排序封装成json格式的数据传送到前台JS页面,具体程序如下;

public  class  WeiXinShareAction  extends  HttpServlet  {   ,,,private  static  final  long  serialVersionUID =, 1 l;      ,,,private  Integer  main_count =, 888;   ,,,private  String  flag =,“1”;   ,,,private  Log  logger =, LogFactory.getLog (this.getClass ());      ,,,private  String  filePath =,“/B.txt";      ,,,protected  void  doGet (HttpServletRequest 请求,HttpServletResponse 响应)   ,,,,,,,,,,,throws  ServletException, IOException  {   ,,,,,,,JsonObject  JsonObject =, new  JsonObject ();      ,,,,,,,String  ticket =,空;   ,,,,,,,String [], wxInfo =, new  String [], {,“wx007344f87ae48300",,“5442 edc712b6846bdd1c058b7f2318fe",};   ,,,,,,,WeiXinUtil  wxu =, new  WeiXinUtil ();   ,,,,,,,String  ticketResString;      ,,,,,,,try  {      ,,,,,,,,,,,ticketResString =, wxu.getShareJsapiTicket (wxInfo);   ,,,,,,,,,,,if  (StringUtils.isNotEmpty (ticketResString)), {   ,,,,,,,,,,,,,,,JSONObject  ticketJSONObject =, JSONObject.fromObject (ticketResString);   ,,,,,,,,,,,,,,,if  (ticketJSONObject.getInt (“errcode"),==, 0), {   ,,,,,,,,,,,,,,,,,,,ticket =, JSONObject.fromObject (ticketResString) .getString (“ticket");   ,,,,,,,,,,,,,,,}   ,,,,,,,,,,,}   ,,,,,,,},catch  (Exception  e), {   ,,,,,,,,,,,e.printStackTrace ();   ,,,,,,,}      ,,,,,,,if  (StringUtils.isEmpty(票)),{   ,,,,,,,,,,,jsonObject.addProperty (“errcode",, 10002);   ,,,,,,,,,,,jsonObject.addProperty (“errmsg",,“ticket_error");   ,,,,,,,,,,,this.responseWrite (jsonObject.toString(),响应);   ,,,,,,,,,,,返回;   ,,,,,,,}   ,,,,,,,String  noncestr =, this.createNonceStr ();   ,,,,,,,int  timestamp =, this.createTimestamp ();   ,,,,,,,String  requestRefererURL =, request.getHeader (“referer");   ,,,,,,,flag =, request.getParameter (“temp");   ,,,,,,,logger.info(“旗帜- - - - - - - - - - - - - - - -“,+,标志);   ,,,,,,,//这里是保存点击次数   ,,,,,,,//没有数据库的情况下,保证服务重启后点击次数不清的零   ,,,,,,,//利用线程锁,使用IO流,对点击次数进行修改保存   ,,,,,,,,,,,,Thread_readFile  thf4 =, new  Thread_readFile ();   ,,,,,,,,,,,,thf4.start ();      ,,,,,,,logger.warn (“requestRefererURL:,“, +, requestRefererURL);      ,,,,,,,String  signature =, this.createSignature (noncestr,票,,时间戳,,requestRefererURL);      null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

微信分享后台接口简单实现