java微信公众号开发获取jsapi_ticket问题

public JSONObject index1(Model model,HttpServletRequest request) {
String code=request.getParameter("code");
net.sf.json.JSONObject jsonObject=WeChatUtils.getOpenId(code);//获取微信用户access_token
String openid=jsonObject.getString("openid");
String access_token=jsonObject.getString("access_token");
HttpSession session=request.getSession();
session.setAttribute("access_token",access_token);
session.setAttribute("openid",openid);
System.out.println("index1-- access_token:"+access_token);
// String refresh_token =jsonObject.getString("refresh_token");

    net.sf.json.JSONObject ticket =WeChatUtils.getJsapi_ticket(access_token);

    String jsapi_ticket=jsonObject.getString("ticket");//通过access_token获取jsapi_ticket
    System.out.println("jsapi_ticket:"+jsapi_ticket);


    -------WechatUtil.java
    public static JSONObject getOpenId(String code) {
    String path=OAUTHUSERINFO.replace("APPID", appid).replace("SECRET", appsecret).replace("CODE", code);
    System.out.println("调用微信api url:"+path);
    JSONObject wxjsonObject=HttpRequest(path);
    return wxjsonObject;
}

    private static JSONObject HttpRequest(String requestUrl) {
    JSONObject jsonObject=null;
    StringBuffer buffer=new StringBuffer();
    InputStream inputStream=null;
    try {
        URL url=new URL(requestUrl);    
        HttpsURLConnection httpsURLConnection=(HttpsURLConnection) url.openConnection();
        httpsURLConnection.setDoOutput(true);
        httpsURLConnection.setDoInput(true);
        httpsURLConnection.setUseCaches(false);
        //设置请求方式
        httpsURLConnection.setRequestMethod("GET");
        httpsURLConnection.connect();
        inputStream=httpsURLConnection.getInputStream();
        InputStreamReader inputStreamReader=new InputStreamReader(inputStream,"utf-8");
        BufferedReader bufferedReader=new BufferedReader(inputStreamReader);

        String str=null;
        while((str=bufferedReader.readLine())!=null) {
            buffer.append(str);
        }
        bufferedReader.close();
        inputStreamReader.close();
        //释放资源
        inputStream.close();
        inputStream=null;
        httpsURLConnection.disconnect();
        jsonObject=JSONObject.fromObject(buffer.toString());
        System.out.println(buffer.toString());
    }catch(ConnectException ce) {
        ce.printStackTrace();
        System.out.println("WeChat server connection timed out");
    }catch(Exception e) {
        e.printStackTrace();
        System.out.println("http request error:{}");
    }finally {
        try {
            if(inputStream!=null) {
                inputStream.close();
            }
        }catch(IOException e) {
            e.printStackTrace();
        }
    }
    return jsonObject;
}

初接触微信公众号开发, 前端传个code过来,根据code获取的access_token,获取jsapi_ticket时提示invalid credential, access_token is invalid or not latest hint
access_token是可以获取到的,可是为什么jsapi_ticket获取失败?问题出在什么地方,做的的麻烦给看看

2个回答

网页授权access_token和普通access_token的是不同的,你仔细看一下就明白了

qq_35476379
l丶bk 恩,就是这个问题。谢谢
2 年多之前 回复

access_token is invalid or not latest hint 你当前的ACCESS_TOKEN不可用或者不是最后一次获取的

qq_35476379
l丶bk 我知道它的意思。我是不知道怎么解决,或者说我现在找不到问题根源
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
微信获取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的代码??
微信公众号开发(二)获取AccessToken、jsapi_ticket
Access Token在微信公众平台接口开发中,Access Token占据了一个很重要的地位,相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限。 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。 公众号可以使用Ap
java获取微信jsapi_ticket方法
java后台获取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}") ...
微信公众号开发 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...
微信asp获取jsapi_ticket源码
微信 jsapi_ticket的获取,计算和开发微信asp获取jsapi_ticket源码
微信公众号开发笔记——获取access_token、jsapi_ticket并保存
微信公众号开发,access_token和jsapi_ticket的获取和保存 jsapi_ticket使用微信JS-SDK会用到。
微信&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
微信的官方文档给的java代码,没有获取jsapi_ticket,代码如下:nimport java.util.UUID;nimport java.util.Map;nimport java.util.HashMap;nimport java.util.Formatter;nimport java.security.MessageDigest;nimport java.security.NoSuchAlgorithmException;nimport java.io.UnsupportedEncodingException; nnclass Sign n public static void main(String[] args) n String jsapi_ticket = "jsapi_ticket";nn // 注意 URL 一定要动态获取,不能 hardcoden String url = "http://example.com";n Map ret = sign(jsapi_ticket, url);n for (Map.Entry entry : ret.entrySet()) n System.out.println(entry.getKey() + ", " + entry.getValue());n n ;nn public static Map sign(String jsapi_ticket, String url) n Map ret = new HashMap();n String nonce_str = create_nonce_str();n String timestamp = create_timestamp();n String string1;n String signature = "";nn //注意这里参数名必须全部小写,且必须有序n string1 = "jsapi_ticket=" + jsapi_ticket +n "&noncestr=" + nonce_str +n "&timestamp=" + timestamp +n "&url=" + url;n System.out.println(string1);nn tryn n MessageDigest crypt = MessageDigest.getInstance("SHA-1");n crypt.reset();n crypt.update(string1.getBytes("UTF-8"));n signature = byteToHex(crypt.digest());n n catch (NoSuchAlgorithmException e)n n e.printStackTrace();n n catch (UnsupportedEncodingException e)n n e.printStackTrace();n nn ret.put("url", url);n ret.put("jsapi_ticket", jsapi_ticket);n ret.put("nonceStr", nonce_str);n ret.put("timestamp", timestamp);n ret.put("signature", signature);nn return ret;n nn private static String byteToHex(final byte[] hash) n Formatter formatter = new Formatter();n for (byte b : hash)n n formatter.format("%02x", b);n n String result = formatter.toString();n formatter.close();n return result;n nn private static String create_nonce_str() n return UUID.randomUUID().toString();n nn private static String create_timestamp() n return Long.toString(System.currentTimeMillis() / 1000);n nn
java微信公众号开发获取微信用户信息
此博文参考:https://www.cnblogs.com/sxmny/articles/4969119.html获取微信用户的基础信息(包括头像,昵称,所在地等)大体分为如下三步:1.获取code;只有用户同意授权才能拿到用户的微信信息.用户同意授权后,我们就可以拿到code值.code是怎么来的,是通过调用下面接口来获取的: https://open.weixin.qq.com/connect...
获取jsapi_ticket
本课程试图用简单的方式讲解JS-SDK的常用API开发, 例如:通过JS-SDK提供的API来实现拍照、地图、扫一扫、分享、微信支付等功能. 本课程提供微信支付测试环境, 包括微信服务号和商户账号, 测试账号在2017年4月14日过期.
微信公众号开发——获取access_token
第一步:登陆公众号 拿到 AppID(应用ID) 和 AppSecret(应用密钥)第二步:公众号 接口权限 查看 对话服务>基础支持>获取access_token上代码写了3个类 BasisSupport 基础支持 CacheHelper 缓存帮助 Sender 发起请求BasisSupport using Codeplex.Data; using System; using System
微信公众号开发3Event获取
这里根据微信开发文档, 获取Eventev=ev=postObj->Event;// 获取关注事件if($ev==”subscribe”){$msgType=”text”;$contentStr=”感谢你的关注!”;resultStr=sprintf(resultStr=sprintf(textTpl,fromUsername,fromUsername,toUsername,time,time,m
微信公众号开发之获取access_token
进行微信公众号相关开发,获取access_token是首要一步,因为access_token是公众号的全局唯一接口调用凭据。公众号调用各接口时都需使用access_token。 access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。更多关于access_t...
微信公众号开发之获取code
微信公众号开发过程中要获取用户信息,需要通过OAuth2.0机制获得code,然后用code换取openID。 1、先确定自己的回调地址,下面拼接地址时需要用到,这里我用REDIRECT_URI代替。 2、拼接地址,如下,细心点看: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_ur...
微信公众号开发-获取access_token
// token,ticket缓存 public static Map<String, AccessToken> TOKEN_TICKET_CACHE = new HashMap<String, AccessToken>(); // 获取access_token的接口地址(GET) 限2000(次/天) public final static String access_token_url = "h
微信公众号开发获取code
官网链接 参考链接 1、把下面的URL补充完整:(大写代表需要补充的内容) https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&amp;amp;amp;redirect_uri=REDIRECT_URI&amp;amp;amp;response_type=code&amp;amp;amp;scope=SCOPE&amp;amp;amp;state=STATE#wechat_r...
微信公众号开发获取access_token
需要使用到的参数是appid和secret 两个参数在公众号设置里可以找到 access_token每日有限制刷新次数,每次获取后缓存到本地,有效时间7200s,稳妥起见可以设置刷新时间为7000s,防止出现网络波动
微信获取jsapi_ticket详细接口代码
ignature 的值是用多个参数 sha1 加密的结果,详细流程即: 1, 通过 appid + appsecert 获取公众号的 access_token(不是用户的 access_token) 2, 根据 1 的access_token 来获取 jsapi_ticket 3, 生成一个随机字符串 nonceStr(16)位 4, 生成一当前时间缀 timestamp 5, 获取当前网页 URL(#号后不要)
java的微信公众号开发二(获取access_token)
一、开发文档如下文档原文地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;amp;id=mp1421140183摘取部分:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。目前Access_token的有效期通过返回的expire_in来传达,目前是7200秒之...
微信公众号开发_Java(4)--access_token的获取
一、前言  之前一直再说”微信公众平台接口”、”SDK”等概念,这里终于可以调用微信接口了,今天讲解access_token的调用。二、access_token简介2.1 access_token  accessToken在微信开发者文档中是这样定义的:   access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存(至于保存
Java微信公众号开发:网页授权获取用户基本信息
Java版微信公众号开发:网页授权获取用户的基本信息
Java微信公众号开发之网页授权获取用户基本信息
前言 微信公众号开发,需要用到网页授权获取用户信息,通过OAuth2.0网页授权机制,来获取用户基本信息,进而实现自己的业务逻辑。(前提条件:公众号为服务号,且通过认证),我的项目开发就是已认证的服务号,写这篇文章的目的是因为刚接触微信开发的小白对微信授权的文档很模糊,你只要按照我下面提供的授权接口完整走一遍你就明白了授权的4个步骤 微信网页授权api接口说明:https://mp.wei...
微信公众号开发-Java
申请个公众号最近接触了微信公众号,在这对微信公众号开发过程做个记录。对想接触微信公众号的同学可以做个参考。下面进入正题。一.微信公众号申请微信公众号开发首先你得有一个微信公众号,申请微信公众号,点击立即注册,会让你选择公众号的类型。 一般个人选择订阅号,下面的例子也是已订阅号为例,服务号和订阅号类似只是多了些微信提供的服务接口。可以在微信公众平台查看接口权限 下面就是填写基本信息和邮箱验证什么的
java微信公众号开发,文件上传
官方展示的接口配置信息 需要引用的jssdk的页面上需要有这些: s/jweixin-1.0.0.js"> wx.config({ debug: false, appId: '${appid!}', timestamp: '${sing_timeStamp!}', nonceSt
初识Java微信公众号开发
微信开发,需要两个前提: 1.把本地映射到外网 2.一个公共号 1.用ngrok把本地地址映射到外网 先编写接入接口 工具类 package com.imooc.util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java
java微信公众号开发.zip
微信公众号开发案例,使用的是SpringMVC+MyBatis框架。附带数据库。
Java微信公众号开发毕业论文
Java微信公众号开发毕业论文,农业微信推广平台,大概功能如下: (1)知识库查询,通过回复微信公众号或选择菜单查询相关农业知识; (2)新闻的推送和热点公告的通知,主要为与农业政策相关的信息和专家用户工作的通告信息; (3)服务管理,包括服务申请和服务统计情况; (4)上传照片,为服务申请提供佐证,直接在服务和绩效管理上传; (5)绩效管理,包括绩效申请和绩效统计情况; (6)账号绑定,每个用户通过微信绑定一个账号进行管理,需成为专家用户后才能使用服务和绩效管理。
微信公众号开发-Java版
Java微信公众平台开发,基于springMVC技术和xstream,json等技术。
Java微信公众号开发
(资源失效+Q:86848958补发) Java微信公众号开发.,详细介绍了java微信公众号开发案例,如何接入公众号,订阅号怎么样接收消息,等等
微信公众号开发 java版本
1348831860 1234567890123456 梳理如下 1.微信开发者账号 需要一个weburl请求过去可以得到正确响应,传说中token验证 这是一个get请求 参数,返回内容参考开发文档 url是一个外网可以访问的即可 2微信入门,先看看简单 的发消息和收消息,采用xml格式传输 //微信开发 //用户 1348831860 12
java微信公众号开发
http://www.imooc.com/video/5639
java微信公众号开发及源码分享
java微信公众号开发源码下载 刚做完微信公众号项目,分享一下代码,经验!初写博客,格式写得不好,还请见谅。有不懂的可以留言或加qq 505281494交流下。 一. 第一步进行服务器接口配置,提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接
微信获取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
Java微信公众号开发完整项目
Java开发微信公众号。
java 微信公众号开发
java 微信公众号开发 # Javen 微信公众号极速开发 实现微信登录,微信支付等接口 配置用户信息成为开发者,授权获取用户信息等邮箱注册、找回密码等
java微信公众号开发 源码下载
原生servlet+jdbc实现微信公众号开发,包含自定义菜单等。
Java微信公众号开发的例子
附有详细说明,和可用的ngrok,保证跟着说明配置一下就可以用了! 跟着慕课网老毕老师的视频敲出来的项目,只是老师那时用的百度翻译API过时了,我这里重新做好了。 我是用maven管理jar包的,所以怕有的人不会导包,我将我的pom.xml贴出来,要是那个包导错了,你们就看一下我怎么写的。
JAVA微信公众号开发之环境搭建
微信公众平台开发概述 微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读接口文档来帮助开发。 微信公众号文档地址: https://mp.weixin.qq.com/wiki 每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。在开发出现问题时,可以通过接口调...
JAVA微信公众号开发
微信公众号开发文档:https://mp.weixin.qq.com/wiki 微信公众平台接口调试工具:https://mp.weixin.qq.com/debug/cgi-bin/apiinfo JAVA微信公众号开发框架:Wechat4j Wechat4j帮助文档:http://www.chengn.com/wechat4j/wiki/jieruzhinan.html
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件