微信JS SDK 验证和二次分享内容设置
在最近的工作中遇到了从app分享内容到微信,然后再从微信分享给别人,分享的时候显示的图片和描述就会丢失的情况。在网上查过之后发现可以通过微信的JS SDK设置分享的图片和描述。
微信JS SDK开发流程
首先通过微信的JS SDK文档了解相关的开发流程
http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
在上面的步骤中需要注意的是:
要绑定的程序如果不是在80端口下,那么绑定的域名要包含端口号。微信JS SDK验证配置参数说明
这是最关键的一个步骤,先看上面步骤三的需要参数
appId:这个不用多说,就是微信开发者的appId,登录到微信公众平台可以看到。
timestamp:时间戳,这个也很简单,不过有一个比较坑的地方通过Java获取的时间戳是 13位的,但是使用微信的调试工具时间戳最长只能输入10位,所以在使用的时候最好截取一下。
nonceStr:随机的一个字符串,如果嫌麻烦也可以随便用一个字符串写死,我就写死的例如:abcdefg
signature:最重要的一个,通过获取token,ticket然后把各项参数组合起来加密得到的一个签名。
jsApiList:需要使用的js接口列表,是一个数组,
例如[wx.onMenuShareTimeline,wx.onMenuShareAppMessage]。signature签名获取
还是先看微信的说明:
其实微信说的很明白想要获取signature需要3个步骤
获取微信信息的方法
public static String getUrl(String url){
String result = null;
try {
// 根据地址获取请求
HttpGet request = new HttpGet(url);
// 获取当前客户端对象
HttpClient httpClient = new DefaultHttpClient();
// 通过请求对象获取响应对象
HttpResponse response = httpClient.execute(request);
// 判断网络连接状态码是否正常(0--200都数正常)
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result= EntityUtils.toString(response.getEntity());
}
} catch (Exceptio