zoukankan      html  css  js  c++  java
  • 微信分享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 () { }, //失败回调
    });
  • 相关阅读:
    用代码操作文件(文件夹)
    文件上传
    用ajax、PHP、session做购物车
    ajax返回数据类型为JSON数据的处理
    Hadoop机架感知
    Linux 克隆虚拟机以及克隆之后引起的“Device eth0 does not seem to be present, delaying initialization”问题解决
    克隆之后一键修改IP、删除Mac地址、修改主机名(未测试成功只是思路)
    关于Hadoop的杂乱无章(续更)
    使用CentOS6.8搭建Hadoop集群
    CentOS6.8卸载与安装yum
  • 原文地址:https://www.cnblogs.com/txw1958/p/weixin-share-js-disabled.html
Copyright © 2011-2022 走看看