微信分享自定义图片标题摘要

我们平时在使用微信内置浏览器打开网页想要分享给好友或者发到朋友圈的时候经常会遇到这样的问题,

别人的网页分享的时候是这样的:

而我们自己的网页分享后这这样的:

看到有人说不做任何设置,微信分享时会自动抓取网页中的Title作为标题,IP地址作为概述,网页的第一个大小小于300*300的图片会作为分享中的图片,但是除了标题和概述可以,图片怎么设置分享后图片都是上图灰色的曲别针图案,所以今天来说一下如果自定义图片,标题和概述。

要实现上述功能需要使用微信官方的SDK,具体步骤如下:

第一步:微信公众号中设置js绑定域名,只有绑定的域名下的网页才可以调用微信官方的js,目前域名可以绑定3个(绑定步骤如下)

①进入公众号,点击左边主菜单栏“设置”→“公众号设置”

然后点击上方的“功能设置”

设置好后,进入下一步。

第二步:在自己的网页中引入微信官方js,http://res.wx.qq.com/open/js/jweixin-1.0.0.js,这步最简单

第三步:在页面添加配置信息和js代码

wx.config({
            debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: ‘wxb5f2540cff5*****‘, // 必填,公众号的唯一标识
            timestamp:‘1414587457‘ , // 必填,生成签名的时间戳
            nonceStr: ‘Wm3WZYTPz0wzccnW‘, // 必填,生成签名的随机串
            signature: ‘0f9de62fce790f9a083d5c99e95740ceb90c27ed‘,// 必填,签名
            jsApiList: [‘onMenuShareAppMessage‘] // 必填,需要使用的JS接口列表
        });
        wx.ready(function(){
            wx.onMenuShareAppMessage({
                title: ‘测试标题‘, // 分享标题
                desc: ‘测试描述‘, // 分享描述
                link: ‘http://zicp.zicp.net/ycdh_real/mobile/productInfo?id=1e72e158-f3f5-46df-8385-7fe1059e142f‘, // 分享链接
                imgUrl: ‘http://zicp.zicp.net/ycdh_real/res/images/website/h.jpg‘, // 分享图标
                type: ‘link‘, // 分享类型,music、video或link,不填默认为link
                dataUrl: ‘‘, // 如果type是music或video,则要提供数据链接,默认为空
                success: function () {
                    alert("分享成功!");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                }
            });
            wx.error(function(res){

                // config信息验证失败会执行error函数,如签名过期导致验证失败

            });
        });

这里主要来说明一下配置参数中的signature,签名,

获取签名的步骤:

①首先通过公众号的AppID(应用ID)和AppSecret(应用密钥)得到access_token,具体方法 获取access_token方法

②通过上一步得到的access_token得到api_ticket,具体方法:

调用接口https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

返回值json格式:

{
"errcode":0,
"errmsg":"ok",
"ticket":"sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg",
"expires_in":7200
}

③通过前两步的到的jsapi_ticket获取签名signature

  示例:

  • noncestr=Wm3WZYTPz0wzccnW
  • jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
  • timestamp=1414587457
  • url=http://mp.weixin.qq.com?params=value

  ? 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

  string1=jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=htt  p://mp.weixin.qq.com?params=value

  ?对string1进行sha1签名,得到signature:

  signature=sha1(string1);  经过上述算法得出 signature=0f9de62fce790f9a083d5c99e95740ceb90c27ed

注意事项

  1. 签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。
  2. 签名用的url必须是调用JS接口页面的完整URL。
  3. 出于安全考虑,开发者必须在服务器端实现签名的逻辑。

微信官方推出了 JS 接口签名校验工具 地址

到这为止微信分享就完成了,上述只是分享给好友,分享到朋友圈和这个类似,结合SDK官方文档照着写就可以了,分享效果出来了,看下图

OK

时间: 2024-10-12 06:29:50

微信分享自定义图片标题摘要的相关文章

微信分享自定义图片标题摘要-微信官方API

我们平时在使用微信内置浏览器打开网页想要分享给好友或者发到朋友圈的时候经常会遇到这样的问题, 别人的网页分享的时候是这样的: 而我们自己的网页分享后这这样的: 看到有人说不做任何设置,微信分享时会自动抓取网页中的Title作为标题,IP地址作为概述,网页的第一个大小小于300*300的图片会作为分享中的图片,但是除了标题和概述可以,图片怎么设置分享后图片都是上图灰色的曲别针图案,所以今天来说一下如果自定义图片,标题和概述. 要实现上述功能需要使用微信官方的SDK,具体步骤如下: 第一步:微信公众

微信分享自定义标题和图片的js

<script> document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { window.shareData = { "timeLineLink": "http://nianshao.uuzee.com/", "sendFriendLink": "http://nianshao.uuzee.com/", "wei

微信分享自定义图片和摘要

参考: 微信分享实现 微信现在是众多公司营销的重点.遍布朋友圈和消息群组里的html5各位可能也是天天见了,不过自从微信更新了官方api后,对整个微信内的页面管控都严格了不少.而官方的分享卡片,是众多在微信生态中传播的html5静态页面的一个重点.不过很多人会发现分享的图片和摘要达不到预期.这篇文章就讲下这个,供初次接触微信开发的前端参考.(其实官方的文档也蛮详细的了,不过有些地方官方没忽略了,容易给新人造成坑) 必要的前提准备 PS:本文的方法只适合6.0.2.58以及更高版本的微信客户端.旧

PHP+微信分享自定义小图标

微信分享以后的小图标如下图: <script>document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {window.shareData = { "imgUrl": "<?php if(stripos('y'.$detail['start_picurl'], 'http://')!=1){echo $Think.config.HTTP_STCDOMIN;}echo $

微信分享自定义设置Title与Desc

前端Js引用: 1 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> 2 <script> 3 function wxconfig(data) { 4 wx.config({ 5 // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印. 6 debug: fals

微信内部网页的分享自定义实现

前言 鉴于上个月连续做了几个银行的活动宣传页面,涉及到了分享的图标与标题显示问题. 在目前微信版本为6.0的情况下,分享微信内部的文章有两种结果链接情况: 1.通过微信自身的单多图文发送的文章:链接会通过微信内部发布和出来,此时的分享链接为单多图文的默认图片:                    可以看到第二张分享给朋友分别用了图文信息的:图标,标题,以及摘要:而分享到朋友圈只有图标跟正文标题:下面看一下直接通过微信内部链接跳转的网页分享 是什么情况:           可以看到留下的仅仅是

使用微信JSSDK自定义微信分享标题、描述、和图标

最近做一个项目的时候用到微信的分享 ,实现定义分享标题,图片,了解到微信在发布JSSDK后,把包括自定义分享在内的众多网页服务接口进行了统一.如果要想自定义分享自己的网页信息给好友或朋友圈,就最好使用这个统一的网页服务接口. 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 步

微信二次分享不显示摘要和图片的解决方法

微信二次分享不显示摘要和图片的解决方法 解决不显示摘要和图片的问题,需要调用微信公众号的js-sdk的api ,需要前端和后台的配合, 后台需要返回 appid (公众号的appid ) . timestamp (生成签名的时间戳) .nonceStr (签名的随机字符串) . signature (签名* 可能出错): 1.绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"js接口安全域名".(特别提示不需要加上http或者h

java微信分享config:invalid signature,自定义右上角菜单(只保留分享给好友和朋友圈)

微信提供的API位置:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN 先照着文档复制: JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". 备注:登录后可在"开发者中心"查看对应的接口权限. 说明:登录公共平台https