java中如何获取微信的jsapi_ticket

微信的官方文档给的java代码,没有获取jsapi_ticket,代码如下:
import java.util.UUID;
import java.util.Map;
import java.util.HashMap;
import java.util.Formatter;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.io.UnsupportedEncodingException;

class Sign {
public static void main(String[] args) {
String jsapi_ticket = "jsapi_ticket";

    // 注意 URL 一定要动态获取,不能 hardcode
    String url = "http://example.com";
    Map<String, String> ret = sign(jsapi_ticket, url);
    for (Map.Entry entry : ret.entrySet()) {
        System.out.println(entry.getKey() + ", " + entry.getValue());
    }
};

public static Map<String, String> sign(String jsapi_ticket, String url) {
    Map<String, String> ret = new HashMap<String, String>();
    String nonce_str = create_nonce_str();
    String timestamp = create_timestamp();
    String string1;
    String signature = "";

    //注意这里参数名必须全部小写,且必须有序
    string1 = "jsapi_ticket=" + jsapi_ticket +
              "&noncestr=" + nonce_str +
              "&timestamp=" + timestamp +
              "&url=" + url;
    System.out.println(string1);

    try
    {
        MessageDigest crypt = MessageDigest.getInstance("SHA-1");
        crypt.reset();
        crypt.update(string1.getBytes("UTF-8"));
        signature = byteToHex(crypt.digest());
    }
    catch (NoSuchAlgorithmException e)
    {
        e.printStackTrace();
    }
    catch (UnsupportedEncodingException e)
    {
        e.printStackTrace();
    }

    ret.put("url", url);
    ret.put("jsapi_ticket", jsapi_ticket);
    ret.put("nonceStr", nonce_str);
    ret.put("timestamp", timestamp);
    ret.put("signature", signature);

    return ret;
}

private static String byteToHex(final byte[] hash) {
    Formatter formatter = new Formatter();
    for (byte b : hash)
    {
        formatter.format("%02x", b);
    }
    String result = formatter.toString();
    formatter.close();
    return result;
}

private static String create_nonce_str() {
    return UUID.randomUUID().toString();
}

private static String create_timestamp() {
    return Long.toString(System.currentTimeMillis() / 1000);
}

}

2个回答

m0_37712901
_堇 可以加我的qq749974543
大约 2 年之前 回复
m0_37712901
_堇 有具体代码吗帅哥,我急用!在线等你!能解决的话发个红包给你,不食言
大约 2 年之前 回复

大神的接口很好用,随便改改就好!想要知道的小伙伴可以找我以后。qq749974543

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java获取微信jsapi_ticket方法
java后台获取jsapi_ticket方法
微信获取jsapi_ticket问题
我用的是java语言,刚做微信企业号开发就遇到一个问题,带有图片的网页显示不了图片,网上查查,需要引入js-jdk,但是再用的时候需要获取jsapi_ticket,,,,JAVA, Node, Python 部分代码只实现了签名算法,需要开发者传入 jsapi_ticket 和 url ,其中[color=#FF0000] jsapi_ticket 需要通过 http://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=ACCESS_TOKEN 接口获取[/color],url 为调用页面的完整 url 。rn有没有大神贴出来具体获取jsapi_ticket的代码??
java,获取微信需要的获取 jsapi_ticket和access_token
废话不多,代码说话,那个url是你需要分享的url,需要传进来,然后入参加密。 java,获取微信需要的获取 jsapi_ticket和access_token @Slf4j @Service public class WeChatServiceImpl implements WeChatService { @Value("${weixin.test.appid}") ...
微信asp获取jsapi_ticket源码
微信 jsapi_ticket的获取,计算和开发微信asp获取jsapi_ticket源码
微信&java 开发5 jsapi_ticket的获取
在前面的内容中,如果可以正确得到access_token的话,传进来就可以了 jsapi_ticket 是以后用js sdk的前提 public static JsApiTicket getJsApiTicket(String accessToken) { JsApiTicket jsApiTicket = null; String requestUrl = JSAPI_TICKET
java微信公众号开发获取jsapi_ticket问题
public JSONObject index1(Model model,HttpServletRequest request) n String code=request.getParameter("code");n net.sf.json.JSONObject jsonObject=WeChatUtils.getOpenId(code);//获取微信用户access_tokenn String openid=jsonObject.getString("openid");n String access_token=jsonObject.getString("access_token");n HttpSession session=request.getSession();n session.setAttribute("access_token",access_token);n session.setAttribute("openid",openid);n System.out.println("index1-- access_token:"+access_token);n// String refresh_token =jsonObject.getString("refresh_token");n n net.sf.json.JSONObject ticket =WeChatUtils.getJsapi_ticket(access_token);n n String jsapi_ticket=jsonObject.getString("ticket");//通过access_token获取jsapi_ticketn System.out.println("jsapi_ticket:"+jsapi_ticket);n n n -------WechatUtil.javan public static JSONObject getOpenId(String code) n String path=OAUTHUSERINFO.replace("APPID", appid).replace("SECRET", appsecret).replace("CODE", code);n System.out.println("调用微信api url:"+path);n JSONObject wxjsonObject=HttpRequest(path);n return wxjsonObject;n nn private static JSONObject HttpRequest(String requestUrl) n JSONObject jsonObject=null;n StringBuffer buffer=new StringBuffer();n InputStream inputStream=null;n try n URL url=new URL(requestUrl); n HttpsURLConnection httpsURLConnection=(HttpsURLConnection) url.openConnection();n httpsURLConnection.setDoOutput(true);n httpsURLConnection.setDoInput(true);n httpsURLConnection.setUseCaches(false);n //设置请求方式n httpsURLConnection.setRequestMethod("GET");n httpsURLConnection.connect();n inputStream=httpsURLConnection.getInputStream();n InputStreamReader inputStreamReader=new InputStreamReader(inputStream,"utf-8");n BufferedReader bufferedReader=new BufferedReader(inputStreamReader);nn String str=null;n while((str=bufferedReader.readLine())!=null) n buffer.append(str);n n bufferedReader.close();n inputStreamReader.close();n //释放资源n inputStream.close();n inputStream=null;n httpsURLConnection.disconnect();n jsonObject=JSONObject.fromObject(buffer.toString());n System.out.println(buffer.toString());n catch(ConnectException ce) n ce.printStackTrace();n System.out.println("WeChat server connection timed out");n catch(Exception e) n e.printStackTrace();n System.out.println("http request error:");n finally n try n if(inputStream!=null) n inputStream.close();n n catch(IOException e) n e.printStackTrace();n n n return jsonObject;n nn n n初接触微信公众号开发, 前端传个code过来,根据code获取的access_token,获取jsapi_ticket时提示invalid credential, access_token is invalid or not latest hint naccess_token是可以获取到的,可是为什么jsapi_ticket获取失败?问题出在什么地方,做的的麻烦给看看
获取jsapi_ticket
本课程试图用简单的方式讲解JS-SDK的常用API开发, 例如:通过JS-SDK提供的API来实现拍照、地图、扫一扫、分享、微信支付等功能. 本课程提供微信支付测试环境, 包括微信服务号和商户账号, 测试账号在2017年4月14日过期.
微信获取jsapi_ticket详细接口代码
ignature 的值是用多个参数 sha1 加密的结果,详细流程即: 1, 通过 appid + appsecert 获取公众号的 access_token(不是用户的 access_token) 2, 根据 1 的access_token 来获取 jsapi_ticket 3, 生成一个随机字符串 nonceStr(16)位 4, 生成一当前时间缀 timestamp 5, 获取当前网页 URL(#号后不要)
微信公众号开发(二)获取AccessToken、jsapi_ticket
Access Token在微信公众平台接口开发中,Access Token占据了一个很重要的地位,相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限。 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。 公众号可以使用Ap
微信获取jsapi_ticket报40097错误
微信开发之门店管理{"errcode":40097,"errmsg":"invalid args hint: [xxxxxxx]"} 官方demo请求url有问题,传参时必须有参数offset_type=1, https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOK
jsapi_ticket
我相信这是你学习微信接口及使用PHP开发微信好的方法,本套课程使用PHP框架yii2开发,当然即便你不了解yii2,只要对PHP熟悉也很容易入门。rnrn做一个微信SDK,在学习微信接口开发上还有比这更好的方法么?
微信公众号获取jsapi_ticket(多类型)
一、jsapi_ticket是什么? jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。 二、注意事项 ...
微信公众号开发 ThinkPHP3.2获取access_token和jsapi_ticket以及全局缓存
首先,微信公众号开发有2个access_token,分别为基础接口的access_token和网页授权oauth2.0的access_token,在此就先讲基础接口的access_token。根据微信公众号开发文档,先获取到基础接口的access_token,再由这个access_token获取到jsapi_ticket,然后这两个玩意的有效期为7200秒,在接口权限中写明access_token...
微信测试号开发之四 获取access_token和jsapi_ticket
  access_token:公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。     jsapi_ticket:jsapi_ticket是公众号用于调用微信JS...
微信公众号相关 获取AccessToken、jsapi_ticket
微信公众号相关 微信公众号相关,来源微信公众号开发 AccessToken 获取jsapi_ticket 推送的问题: 短信 《无限制》 模板消息(支付【7天内只能推送3条】 或者 提交form表单【7天内一次提交只能发一条】)模板消息 公众号推送【只有公共号才能实现无线推送】如何实现小程序的无限推送,不可以?? 1:需要微信开放平台、小程序、公众号3个账号,并将小程序和公众号关联到开放平台...
asp源码微信公众号获取jsapi_ticket
Public Function GetAuthorization_Code() Dim url, params url = &quot;https://open.weixin.qq.com/connect/oauth2/authorize?&quot; params = “appid=”&amp;amp;s_APPID params = params &amp;amp; “&amp;amp;redirect_uri=” &amp;amp; serv...
微信开发获取Accesstoken和jsapi_ticket配置jssdk,调用微信扫一扫
不废话直接上代码:获取accesstoken: public static AccessToken getAccessToken(String appid, String appsecret) { AccessToken accessToken = null; String requestUrl = access_token_url.replace(&quot;APPID&quot;, appid).repl...
微信JS-SDK,获取jsapi_ticket时,一直报错40001错误。
微信JS-SDK,获取jsapi_ticket时,一直报错40001错误。 找了很久的原因,原来请求地址写错了,由于微信企业号刚开始不久,网上的资料大都是公众号的,企业号与公众号申请jsapi_ticket的地址是不一样的。 //企业号申请jsapi_ticket的地址 static String JSAPIURL = "https://qyapi.weixin.qq.com
微信公众号开发笔记——获取access_token、jsapi_ticket并保存
微信公众号开发,access_token和jsapi_ticket的获取和保存 jsapi_ticket使用微信JS-SDK会用到。
java中获取微信的openid
第一步 :需要在微信平台上创建一个网站应用(记住应用的appid和appsecret) 第二步 :设置授权回调域 第三步:请求链接:https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_login&state=STATE
vue cli引入微信sdk,完成微信接口调用——获取微信access_token和jsapi_ticket(六)
本章节:在webapp入口页面完成微信access_token和jsapi_ticket初始化。然后就可以在任意页面去签名注入微信配置中。 created(){ this.getAccessToken(Bus.appid,Bus.secret); }, methods:{ getAccessToken(appid,secret){ this.$http.g...
采用java单例模式实现微信AccessToken和Jsapi_ticket缓存支持
一、单例模式介绍 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例类必须给所有其他对象提供这一实例。   单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、
使用C# .net开发微信公众号之获取Jsapi_Ticket
使用C# .net开发微信公众号之获取Jsapi_Ticket jsapi_ticket 生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。
java微信获取OpenId
微信开发获取openId
java获取微信用户信息
本项目的代码是Servlet+jsp.(里面的用到OAuth2.0代码,我全部封装了,你在使用代码时候,直接调用就可以了)。
微信公众平台jsapi开发教程(1)获取jsapi_ticket
微信公众平台jsapi开发教程1 jsapi_ticket的获取
如何获取微信的suite_ticket
要获取预授权码就必须使用这个参数,貌似是由微信服务器推送的,还必须解密rn可我怎样才能获取到这个参数呢?
java微信公众号开发获取微信用户信息
此博文参考:https://www.cnblogs.com/sxmny/articles/4969119.html获取微信用户的基础信息(包括头像,昵称,所在地等)大体分为如下三步:1.获取code;只有用户同意授权才能拿到用户的微信信息.用户同意授权后,我们就可以拿到code值.code是怎么来的,是通过调用下面接口来获取的: https://open.weixin.qq.com/connect...
如何获取别人微信文章中的图片
有时我们看到别人微信文章中的图片很好看,想保存下来,又或者是我们本身是微信运营者,想“借用”一下别人的图,简单点的做法是在手机微信文章中点击图片,会出现微信图片浏览器,然后点击右上角的三个点点,点击保存到手机。如果电脑要用,就用手机发送给电脑就行,如下图:但是,如果仅仅这么简单我就不用写这篇文章了!!关键在于,这样得到的图是经过微信处理过的小图,放大后会失真,那怎么获得大图呢?试过的人可能知道,将微
3得到jsapi_ticket
"微信公众平台企业号开发Java版"系列课程,采用java语言细致、详尽、全面地讲解微信企业号开发的相关知识点。该套课程,在"微信公众平台深度开发Java版v2.0"的基础上,对企业号开发的“回调模式”、“主动调用模式”、“JSAPI模式”分类讲解。贯彻“简单、高效、快捷”的课程特色,采用“一课两知识点”的课程进度,保证课程质量的同时,尽可能的压缩课程时间,让学员“以短的时间,学到多的知识”。课程的知识点包括:建立连接;接收消息与响应消息;被动响应消息;接收事件(菜单事件、关注/取消关注事件、坐标事件、异步任务完成事件);发送消息(消息推送);自定义菜单;OAuth验证;Userid与openid互换;微信JS-SDK接口(重点);企业会话服务(重点);基础样式库(重点);企业号登录授权(重点),等知识点。 以及,针对微信公众号开发的服务端架构设计方案。课程以微信公众号开发视角,讲解JAVA开发微信公众号所需的框架、第三方工具。 购买套餐还赠送经典微信开发课程——[微信公众号_独立知识点]环境搭建。该课程针对各种复杂的网络环境,讲解如何构建开发环境,已解决“没有服务器”、“没有固定IP”等开发者遇到的窘境。 详情 qq2326321088
企业微信获取access_token(Java)
因工作需要接触企业微信,做了一些企业微信api接口的调用及开发,在此记录一下。 企业微信即原微信企业号,目前企业号已经全部升级到企业微信,后台接口也统一的差不多了,但仍有不少差别,但首先都需要获取access_token。import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; i
java获取微信用户信息(UnionID)
本篇主要是针对用户关注公众号 然后利用接口获取用户的信息包括unionid信息 首先就是获取微信access_token的值,官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;id=mp1421140183 然后调用获取用户信息接口url:https://api.weixin.qq.com/cgi-bin/user/info?ac...
java获取微信用户信息源码
本项目的代码是Servlet+jsp.(里面的用到OAuth2.0代码,我全部封装了,你在使用代码时候,直接调用就可以了)。
微信H5公众号,如何获取微信抬头
wx.invoke('chooseInvoiceTitle', rn "scene":"1"rn ,function(res) rn alert(JSON.stringify(res));rn //这里是回调函数rn ); rn使用这个不行,这是为什么
java怎么获取微信的openid?
已经有微信的公众服务账号相应的appid及redirect url等,想用java获取微信用户的openid,下面这个例子不太完整:rnhttp://my.oschina.net/xshuai/blog/293458rnrn哪位介绍一下?
java 获取微信用户基本信息
功能描述:需要获取公众号下openId对应的用户基本信息; 实现思路:通过网页授权获取到code  用code 换取openid 和access_token  用openid和access_token获取用户基本信息; 第一步:获取code 调用微信获取code接口 接口地址:https://open.weixin.qq.com/connect/oauth2/authorize?a
java获取微信用户openid
按照惯例,先是官方传送门:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html1.登录流程介绍调用微信开放接口wx.login获取一个临时的登录凭证code微信小程序通过https请求访问自己的服务器,服务器携带登录凭证code以及小程序的appid和appsecret从微信服务器中获取openid和session_...
java中如何获取Mysql字符集
哪们朋友可以告诉如何在java中获得当前Mysql使用的字符集?
java中如何获取文件路径?
我的一个config.properties文件保存在 ../cms/WEB-INF/classes/rn我想用resourcebundle去读它,但是无法获取到正确的pathrn[code=Java]ResourceBundle rb = ResourceBundle.getBundle("config.properties");rn String path = rb.getString("data.path"); rn File file = new File(path);[/code]rnrn我直接输入路径也得不到文件。。。。rn有什么办法取到这个文件吗?rn
Java中如何获取系统日志?
Java中如何读取操作系统日志(win2000),rn如Application Lot, Security Log, System Logrn甚至IE的Log、其他Log
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件