最近微信新开发出来了一套jssdk,坑死一片人啊。
不过最后总算我也完成了分享功能的开发,在这里做个记录吧。
http://mp./wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html?ADUIN=1099048193&ADSESSION=1421112583&ADTAG=CLIENT.QQ.5371_.0&ADPUBNO=26422
这是微信官方文档
这是最新的有关分享朋友圈的规定
https://mp./cgi-bin/announce?action=getannouncement&key=1419941033&version=14&lang=zh_CN
/zxlie/WeixinApi/blob/master/WeixinApi.js
这是某个hack通过暴力劫持的方式实现的分享,测试有效(以后是否会当做插件封掉还不清楚)
使用方法很简单,引入这个js然后按照文档写的方法直接调用即可,和以前网上的方法相似。
最新官方开放的JSSDK接口需要 认证的服务号,在工信部备案的域名(可以是个人名义的),域名可以不是80端口,二级域名也可以。
(域名填写位置:公众号设置>功能设置>JS接口安全域名)
(PS:测试号没有这个地方,所以这个功能的开发无法使用测试号。)
分享流程可以简单理解为。
第一步,引入js文件:http://res./open/js/jweixin-1.0.0.js(注意,不可以下载到本地后调用,否则所有功能无效)
第二步,通过config接口注入权限验证配置。
其中主要的问题在signature中,具体函数可以参考附件中的java类中的
public Map<String, String> sign(String jsapi_ticket, Stringurl) 方法。
其中jsapi_ticket的流程和获取公众号的access_token基本一样,也是7200有效
url就是你的页面url
第三步,调用wx.ready,然后执行相应的方法,比如分享朋友圈就是wx.onMenuShareTimeline
我开发过程中遇见的问题
1, wx.config报错,未定义。原因:res.被公司的网络过滤
2, 报错config:fail,wx.config中的参数错误
3, 报错config:invail url domain,域名没有在公众号设置中填写,或不一致。
ps:如果在分享的链接上挂上当前人的openID,使用outh授权链接分享出去的话,我们就能知道是谁分享出去的,然后有谁通过分享的途径进入这个页面的。
对于一些活动,或者无聊的想分析用户关系的话这个方法还是可以考虑
详细流程请阅读微信的官方文档,附录里面也有代码和实例