分享网页到微信朋友圈,怎样才能带缩略图吗?

  

分享网页到微信朋友圈,怎样才能带缩略图?

& lt; !doctype html>   & lt; html>   & lt; head>   & lt; div id=皐x_pic”风格=氨Vそ?0汽车;显示:没有,“比;   & lt; img src=" https://www.yisu.com/zixun/i/300.jpg "比;   & lt;/div>//其余代码……


然后再去网上看了下,这才发现微信团队在今年3月29号就发了一篇文章《JSSDK自定义分享接口的策略调整》,里面明确说明了:


为规范自定义分享链接功能在网页上的使用,自2017年4月25日起,JSSDK”分享到朋友圈”及“发送给朋友”接口,自定义的分享链接,其域名或路径必须与当前页面对应的公众号JS安全域名一致,否则将调用失败。

例如,当前页面是http://www.abc.com/123,其公众号对应的JS安全域名以为http://www.abc.com及http://www.xyz.com,则分享自定义链接http://www.abc.com/456可以成功,分享http://www.xyz.com/123或http://www.def.com/123均将失败。

对于未接入微信JSSDK或已接入但JSSDK调用失败的网页,被用户分享时,分享卡片将统一使用默认缩略图和标题简介,不允许自定义。

接口完整用法请参考《微信JSSDK说明文档》,请开发者及时完成调整。


好吧。还好我手头服务号和企业号(还没有升级到企业微信)的认证账号都有。我看了下,两者的文档分别在以下地址的“分享接口”部分(其实没啥大区别):


服务号:https://mp.weixin.qq.com/wiki?


企业号:微信JS-SDK接口,企业号开发者接口文档


因为手头要推的东西是放在企业号里的,于是以企业号为例,简要说明一下开发过程。


首先,在页面中引入微信的JS-SDK的JS文件。

& lt;脚本src=" http://res.wx.qq.com/open/js/jweixin-1.1.0.js "祝辞& lt;/script>

输出美元=http_post_data (" https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=* * * * * *, corpsecret=* * * * * " ");   $ res=json_decode(输出美元,真实);   accessToken=美元res (“access_token”);

接下来,获取jsapi_ticket,同理,最好缓存在服务器上而非每次调用。

输出美元=http_post_data (“https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=薄ccessToken美元," ");   $ getTicket=json_decode(输出美元,真实);   票=getTicket美元(“票”);

然后,获取nonceStr,这个微信已经给出了算法,照着用就行。

函数createNonceStr($长度=16){   $字符=癮bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”;   美元str=" ";   ($ i=0;美元我& lt;美元的长度;$我+ +){   str美元。=substr($字符,mt_rand (0, strlen($字符)- 1),1);   }   返回str美元;   }   $ nonceStr=createNonceStr ();

然后,取时间戳,即当前时间。

然后,取时间戳,即当前时间。

接下来取url值,这个必须是安全域名中设置的域。

=(美元协议!空($ _SERVER (“HTTPS”)),,$ _SERVER (“HTTPS”) !==畂ff’| | $ _SERVER [' SERVER_PORT ']==443) ?“https://?“http://?   $ url=" $ _SERVER协议HTTP_HOST $ _SERVER [REQUEST_URI]”;

东西都准备好了,拼到一起后沙编码,然后打成一个包。

=" jsapi_ticket="字符串。美元票。”及noncestr="。noncestr美元。”,时间戳="。时间戳美元。“和url=" $ url;。   (签名=sha1美元字符串);   $ signPackage=阵列(   “appId”=比;“* * * * * *”,   “nonceStr”=比;nonceStr美元,   “时间戳”=比;时间戳,美元   “url”=比;url,美元   “签名”=比;美元的签名,   “rawString”=比;美元的字符串   );

& lt;脚本type=" text/javascript祝辞   wx.onMenuShareTimeline ({   imgUrl:“需要的缩略图地址”   });   wx.config ({   调试:假的,   appId:“& lt; ?php echo $ signPackage [" appId "]; ?’,   时间戳:& lt; ?php echo $ signPackage(“时间戳”);?祝辞,   nonceStr:“& lt; ?php echo $ signPackage [" nonceStr "]; ?’,   签名:“& lt; ?php echo $ signPackage[“签名”);?’,   jsApiList:(   “onMenuShareTimeline”   ]   });   & lt;/script>

在上面的代码中,我只设置了imgUrl这一个参数,实际上,还能够在这里设置标题等其他的参数。

分享网页到微信朋友圈,怎样才能带缩略图吗?