• 微信分享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 () { }, //失败回调
    });
    复制代码
  • 相关阅读:
    c#中out与ref的用法与区别
    一次不该出现的bug
    js弹出蒙版
    foreach中不能修改元素的值
    C#中使用正则表达式来过滤html字符
    细微之处才能显示水平
    js画直线 拓荒者
    XSLT模板转换XML文档 拓荒者
    怪异的JavaScript Date对象 拓荒者
    [转]C++ 笔记点滴 拓荒者
  • 原文地址:https://www.cnblogs.com/Alex80/p/4259644.html
Copyright © 2020-2023  润新知