• 微信分享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中的内容
    描述:用title冒充,改变title的innerHtml。
    复制代码

    最终解决方案:

    等待微信开放新的分享接口

    据小道消息微信正在做官方的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 () { }, //失败回调
    });
    复制代码
  • 相关阅读:
    @try { } @catch (NSException *exception) {} @finally {}
    键盘点出来就退不掉了,你可以把这几句加到有键盘的控制器里
    测试最新的微信iOS SDK 报错误
    堆、栈知识小结
    PV操作
    continue & break
    dll的def文件与__declspec(dllexport)导出函数方式比较
    setupapi.h和setupapi.lib該如何使用
    批量缺少头文件的解决办法(添加包含目录)
    易犯错误总结:
  • 原文地址:https://www.cnblogs.com/refe/p/5076540.html
Copyright © 2020-2023  润新知