java js sdk_GitHub - linjiazhi/JSSDK: Java实现分享微信朋友圈接口Demo

JS-SDK

编写日期: 2015.3.4

目的:解决html5在IOS无法分享微信朋友圈问题.

一. 所需变量名词解释

URL:要分享朋友圈的地址.

token:通过微信公众号APPID和secret所生成,用于生成ticket.

ticket:由token生成出来的票,用于生成签名.

timestamp:时间戳,由当前年月日时分秒转换所得,Demo有方法提供实现.

nonceStr:随机常量,Demo有方法提供实现.

signature:签名,由URL+ticket+timestamp+nonceStr4个变量生成所得.

二. Java分享微信朋友圈实现思路

下面html5简称h5,微信简称wx,后端接口程序简称Service.

第1步.Service访问生成token的URL地址:

{

"access_token": "i5SIDe-EsdBBslFYpOTjBnZLXRyVexmTaru-hgpZykTDNAn5diFlr-a-HAmfn5fXPN5XMOnR0Rd6BwOFF3HgupumyZiEdpQisF7QQmNNq2I",

"expires_in": 7200

}

第2步.通过第1步生成的token,访问生成ticket的URL地址:

{

"errcode": 0,

"errmsg": "ok",

"ticket": "sM4AOVdWfPE4DxkXGEs8VE8_Ngph1J7_WCVMvfc9RZkXZwMWfrzmlFKHm2-we89MoawU2JXYmnqWd-qmJSeOJw",

"expires_in": 7200

}

根据token获得ticket,返回tikit.

第3步.ticket生成签名

根据前端传过来的URL,和刚生成tikit,timestamp,nonceStr共4个参数,调Demo里面Sign类的的sign方法,生成signature.

signature: "e0d3425d214a3b5ad2959bebd66dfaa7bdbaf7f5"

第4步.最终前端要拿到这个JSON,即可分享微信朋友圈.

{

signature: "e0d3425d214a3b5ad2959bebd66dfaa7bdbaf7f5"

nonceStr: "ff288ada-9531-49d7-974e-506e8462e762"

timestamp: "1422707482"

}

三. 注意事项

token和ticket有效时间是7200秒,也就是2个小时,访问过多会出现死锁的情况,接口程序要缓存起来.而signature是根据时间戳变化,因此不用缓存..

四. 缓存方法建议

我实现的时候使用的是第4个方法,比较土,但能防止服务器down掉的情况.

hashmap.

session.

java定时任务.

存数据库.

最后希望能帮到大家.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值