微信公众号分享接口
我使用了新版的网页分享接口在微信WeChat6.6.6低版本的微信客户端上不支持。
最后我新版本的接口和老版都写上了。
$.ajax({ url: 'http://h5.descente-china.com.cn/weChat/weChatApi.php', type: 'POST', async: true, data: {url: location.href.split('#')[0]}, dataType: 'json', cache: false, success: function (data) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: data['appId'], // 必填,公众号的唯一标识 timestamp: data['timestamp'], // 必填,生成签名的时间戳 nonceStr: data['nonceStr'], // 必填,生成签名的随机串 signature: data['signature'],// 必填,签名 jsApiList: ['checkJsApi', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'] // 必填,需要使用的JS接口列表 }); wx.ready(function () { //需在用户可能点击分享按钮前就先调用 wx.checkJsApi({ jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'], // 需要检测的JS接口列表,所有JS接口列表见附录2, success: function (res) { // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} // alert(JSON.stringify(res)); } }); wx.updateAppMessageShareData(shareData, function (res) { //这里是回调函数 }); wx.updateTimelineShareData(shareData, function (res) { //这里是回调函数 }); wx.onMenuShareAppMessage(shareData, function (res) { //这里是回调函数 }); wx.onMenuShareTimeline(shareData, function (res) { //这里是回调函数 }); wx.onMenuShareQQ(shareData, function (res) { //这里是回调函数 }); wx.onMenuShareWeibo(shareData, function (res) { //这里是回调函数 }); wx.onMenuShareQZone(shareData, function (res) { //这里是回调函数 }); }); } });
分享功能调整
为鼓励用户自发分享喜爱的内容,减少“强制分享至不同群”等滥用分享能力,破坏用户体验的行为,微信公众平台分享功能即日起做出如下调整:
1、7月5日起新提交的版本,用户从小程序、小游戏中分享消息给好友时,开发者将无法获知用户是否分享完成,也无法在分享后立即获得群ID。该策略在最新版开发者工具上,可以选择基础库 2.0.8版本预先体验。具体调整点为:
(1)分享接口调用后,将不再返回分享结果事件。详情可参考转发介绍
(2)通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序转发到任一群聊之后,不再支持获取到此次转发的 shareTicket。但是当此转发卡片在群聊中被其他用户打开时,依然可以在 App.onLaunch() 或 App.onShow 获取到 shareTicket。详情可参考获取更多转发信息
2、6月份新版微信客户端发布后,用户从微信内的网页分享消息给微信好友,以及分享到朋友圈,开发者将无法获知用户是否分享完成。具体调整点为:
(1)分享接口调用后,不再返回用户是否分享完成事件,即原先的cancel事件和success事件将统一为success事件。详情可参考微信JSSDK说明文档
(2)在6月份新版微信客户端上,微信会提供新的自定义分享卡片标题、简介和配图的能力。该接口不支持获知用户是否分享出自己的网页。
(3)在新版自定义分享能力发布后,原有认证公众号的“获取分享到朋友圈按钮点击状态及自定义分享内容接口”和“获取分享给朋友按钮点击状态及自定义分享内容接口”权限将逐步回收,请开发者关注后续站内信通知。
3、6月份新版微信客户端发布后,用户从App中分享消息给微信好友,或分享到朋友圈时,开发者将无法获知用户是否分享完成。具体调整点为:
(1)分享接口调用后,不再返回用户是否分享完成事件,即原先的cancel事件和success事件将统一为success事件。
微信团队
2018年05月16日
分享接口
请注意,原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口。