您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> jfinal weixin使用jssdk报permission denied

jfinal weixin使用jssdk报permission denied

来源:网络整理     时间:2016/5/29 3:15:10     关键词:permission denied

关于网友提出的“jfinal weixin使用jssdk报permission denied”问题疑问,本网通过在网上对“jfinal weixin使用jssdk报permission denied”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:jfinal weixin使用jssdk报permission denied
描述:

@JFinal 你好,想跟你请教个问题:

在使用最新的jfinal weixin时,不能调test.jsp中的测试jssdk,点击按钮都没反应。

再者,我用的是自己微信公众号,已认证。我自定义了页面使用通过button来调wx.scanQRCode(扫一扫)和wx.chooseImage都是报permission denied,而wx.hideOptionMenu和wx.getNetworkType调用是成功的。

我已经引入了js_sdk.jsp文件。还有奇怪的是,我把wx.config的jsapilist中hideOptionMenu和getNetworkType删掉也能调用,去掉引用js_sdk.jsp,也能调这两个。所以我怀疑wx.config就没起到作用,或者我的wx.config没执行成功,怎么判断wx.config是否执行正确呢?

js_sdk.jsp中直接写wx.config这样可以吗?不应该包括在中吗?

帮忙看下。调了好久了。


解决方案1:

引用来自“puyugongzi”的评论

找到原因了。不能用gson jar包。在AccessToken.java文件,如下代码
Map temp = JsonUtils.decode(jsonStr, Map.class);
access_token = (String) temp.get("access_token");
System.out.println("access expires_in:"+temp.get("expires_in"));
System.out.println("access errcode:"+temp.get("errcode"));
expires_in = (Integer) temp.get("expires_in");

gson会将expires_in的值7200,转成7200.0,在

expires_in = (Integer) temp.get("expires_in");
这一句就出错了。打印日志我也贴一下。
json:{"access_token":"W1lqLK3ED-CSAAAqsj8L7R0LJeysKsudWO42CJvUuIEf5wW971XKviqc3_NSnNxgzqR-b2qzPnfk7C_C3jeUeXCBIIaYe_-h_60hlcQVcwcMSRdAIADJI","expires_in":7200}
access expires_in:7200.0

所以在部署时不要用gson,我用了fastjson。

现在可以测试页面可以调jssdk了。但是我拷贝一份测试页面,创建菜单去调却报invalid signature签名错误。另外,感谢 孤独的3 的解答。

解决方案2:

引用来自“puyugongzi”的评论

找到原因了。不能用gson jar包。在AccessToken.java文件,如下代码
Map temp = JsonUtils.decode(jsonStr, Map.class);
access_token = (String) temp.get("access_token");
System.out.println("access expires_in:"+temp.get("expires_in"));
System.out.println("access errcode:"+temp.get("errcode"));
expires_in = (Integer) temp.get("expires_in");

gson会将expires_in的值7200,转成7200.0,在

expires_in = (Integer) temp.get("expires_in");
这一句就出错了。打印日志我也贴一下。
json:{"access_token":"W1lqLK3ED-CSAAAqsj8L7R0LJeysKsudWO42CJvUuIEf5wW971XKviqc3_NSnNxgzqR-b2qzPnfk7C_C3jeUeXCBIIaYe_-h_60hlcQVcwcMSRdAIADJI","expires_in":7200}
access expires_in:7200.0

所以在部署时不要用gson,我用了fastjson。

现在可以测试页面可以调jssdk了。但是我拷贝一份测试页面,创建菜单去调却报invalid signature签名错误。另外,感谢 孤独的3 的解答。

解决方案3:

找到原因了。不能用gson jar包。在AccessToken.java文件,如下代码

Map temp = JsonUtils.decode(jsonStr, Map.class);
access_token = (String) temp.get("access_token");
System.out.println("access expires_in:"+temp.get("expires_in"));
System.out.println("access errcode:"+temp.get("errcode"));
expires_in = (Integer) temp.get("expires_in");

gson会将expires_in的值7200,转成7200.0,在

expires_in = (Integer) temp.get("expires_in");
这一句就出错了。打印日志我也贴一下。
json:{"access_token":"W1lqLK3ED-CSAAAqsj8L7R0LJeysKsudWO42CJvUuIEf5wW971XKviqc3_NSnNxgzqR-b2qzPnfk7C_C3jeUeXCBIIaYe_-h_60hlcQVcwcMSRdAIADJI","expires_in":7200}
access expires_in:7200.0

所以在部署时不要用gson,我用了fastjson。

现在可以测试页面可以调jssdk了。但是我拷贝一份测试页面,创建菜单去调却报invalid signature签名错误。另外,感谢 孤独的3 的解答。

解决方案4:

注意:1. 确认使用的是仓库里最新的代码

http://git.oschina.net/jfinal/jfinal-weixin/blob/master/webapp/jsp/js_sdk.jsp

2. 注意主配置文件中得有:这2个配置

String appId = PropKit.get("appId");
String appSecret = PropKit.get("appSecret");
解决方案5:

引用来自“孤独的3”的评论

直接拿我们的test.jsp先跑一遍,注意下里面的js_sdk的路径解决方案6:

引用来自“孤独的3”的评论

直接拿我们的test.jsp先跑一遍,注意下里面的js_sdk的路径解决方案7:

直接拿我们的test.jsp先跑一遍,注意下里面的js_sdk的路径

解决方案8:

wx.config({
    // 这里改成true
    debug: false
})
<%--
// 这块的上面的注释去掉
wx.error(function (res) {
    alert(res.errMsg);
});
--%>

再就是js的引入顺序问题:具体看看WIKI http://git.oschina.net/jfinal/jfinal-weixin/wikis/%E4%BD%BF%E7%94%A8JS_SDK.jsp%E6%9B%B4%E5%8A%A0%E6%96%B9%E4%BE%BF%E7%9A%84%E5%BC%80%E5%8F%91%E5%BE%AE%E4%BF%A1JSSDK%E6%8E%A5%E5%8F%A3

解决方案9:

引用来自“孤独的3”的评论

js_sdk是有个域名限制的,需要到微信后台填写添加一个js域名白名单!

调试把js_sdk.jsp里面config debug(改成true),还有alert处的jsp注释打开即可

js_sdk.jsp返回式已js返回的,所以直接用script标签引用就好了,里面有当前URL的获取参与加密,不明白可以查看下微信官方文档!

解决方案10:

js_sdk是有个域名限制的,需要到微信后台填写添加一个js域名白名单!

调试把js_sdk.jsp里面config debug(改成true),还有alert处的jsp注释打开即可

js_sdk.jsp返回式已js返回的,所以直接用script标签引用就好了,里面有当前URL的获取参与加密,不明白可以查看下微信官方文档!


以上介绍了“jfinal weixin使用jssdk报permission denied”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1378163.html

相关图片

相关文章