微信分享JS接口失效说明及解决方案

关键字:微信分享 JS 失效  分享到朋友圈 

 

微信分享JS接口目前已失效,以前可以自定义分享的标题、描述、图片、链接地址在微信6.0.2版本中失效。

官方回复如下:

旧版的获取分享状态及设置分享内容的JS接口一直用于内部业务,并未对外开放,在微信公开的开放文档里面并没有此接口。

某些第三方借助微信客户端漏洞在未获得权限的情况下使用接口,微信6.0.2版本对此漏洞做了修复以确保用户分享内容的准确性,避免诱导分享。

另外,不久将向广大公众号开放正式分享接口供开发者使用。

临时解决方案:

标题:修改<title></title>中的内容
图片:在<body>最前面添加一个图片 \
<div style=”height:1px;overflow:hidden;”>
    <img src=”xxx” />
</div> 
微信分享的时候会去读取第一张200*200以上大小的图片作为分享的图片,
链接:修改location.href中的内容
描述:暂时没有办法修改。

最终解决方案:

等待微信开放新的分享接口

 

据小道消息微信正在做官方的JS API,基本上是走和公众号API类似的路线,要通过APPID和APPSECRET拿到code,通过code获取token,通过token加时间戳和随机字符串SHA1算出signature签名,然后用签名和APPID(目前不知道此ID是公众号ID还是开放平台ID)来请求官方的JS API给予各种权限。还要绑定URL,不是随便写个网页就能调用的了。

反正是挺麻烦的,基于安全考虑,肯定一套算法都要配合使用后端技术比如PHP、asp.net生成签名,不再是纯前端html就可以搞定的了。

下面是新api的大致语法:

//初始化配置
wx.config({
    debug: true, // 调试模式,会打印所有调用返回信息
    appId: '', 
    timestamp: 0, // 时间戳
    nonceStr: '', // 随机串
    signature: '',// 签名,参考我上面给出的解释
    jsApiList: [] // 请求权限
});
//分享朋友圈
wx.onMenuShareTimeline({
    title: '', // 分享标题
    link: '', // 分享链接
    imgUrl: '', // 分享图标
    success: function () { }, //成功回调
    cancel: function () { }, //失败回调
});

 

posted @ 2015-01-06 22:47  方倍工作室  阅读(50573)  评论(3编辑  收藏  举报