微信二次分享链接,出现config:invalid signature错误的解决方法

2023-11-05

当开发微信时需要做特定的页面做分享时,根据官方提供的jssdk.php文件创建的签名数据包调试时,大家碰到的最多的错误而且解决最麻烦的大概就是signature错误了,

分享时提示错误“{"errMsg":"config:invalid signature"}”

一般出现这个错误多半是签名获取失败,而造成签名获取失败的原因各种各种,余斗在开发的时候也遇到过这种情况,搜索了不少网上教程,解决了自己的问题。接下来,余斗将这些解决方法统一整理列出来,希望可以帮到大家:

1、APPID和APPSECRET填错

这个错误可以到官方的调试页面获取access_token看看是否是正确,点击获取获取access_token

根据返回的结果可以判断页面内的APPID和APPSECRET有没有出错,没有出错的话可以点击获取jsapi_ticket

利用前面拿到的access_token 采用http GET方式请求获得jsapi_ticket,如果出错的话会返回对应的说明。

点击进行确认签名算法校验

点击查看全局返回码说明

2、超过了每日的access_token获取上限

官方限定每日2000次请求,所以如果没有缓存access_token的话,还是比较容易过限的。

3、查看微信公共号状态是否不正常

比如验证过期了,被封禁了等。

4、确认config中nonceStr

js中驼峰标准大写S, timestamp与用以签名中的对应noncestr, timestamp一致。

5、确认url是页面完整的url

请在当前页面alert(location.href.split('#')[0])确认,包括'http(s)://'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分,这里在文章《静态页面实现微信分享带缩略图、标题和描述》最后已做说明,大家可以自行修改好。

6、配置curl是否使用ssl的带证书(https协议)访问开关

找到官方提供的jssdk.php,找到代码:


  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
 

将true改为false,因为一般我们是没有安装证书的(https协议),所以将true改为false就好,反之,如果网站安装了证书,则将false改为true。

7、将网站所在服务器IP地址加入白名单

登录微信公众平台,依次点击设置->安全中心->IP白名单进行添加或修改

ps:微信开放平台、公众平台、商户平台区别

一.微信开放平台

主要面对移动应用/网站应用开发者,为其提供微信登录、分享、支付等相关权限和服务。

微信开放平台还提供了数据统计功能,用于开发者统计接入应用的登录、分享等数据情况。

接入步骤

已京东APP举例,比如京东APP需要使用微信登录、分享和微信支付功能,首先注册微信开发平台-开发者账号,并按照以下流程在微信开放平台创建京东APP:

审核通过后,即可获得以下的初级权限,如要获得更高如微信支付权限,需要再单独申请,具体微信支付权限申请步骤详见附件《移动应用-微信支付权限申请流程》

二.微信公众平台

微信公众平台用于管理、开放微信公众号(包括订阅号、服务号、企业号),简单的说就是微信公众号的后台运营、管理系统。

后台功能(以服务号介绍)

(1) 基础运营功能:公众号申请成功后即可获得群发功能、自动回复、自定义菜单、投票管理;

(2) 高级功能:微信公众平台还提供了以下高级的功能来丰富公众号,以下权限需要二次开发。

(3) 微信支付:提供公众号内微信支付能力,和移动应用一样也需要单独申请,流程和移动APP流程类似。

(4)管理:包括已关注用户管理、消息管理、素材管理

(5)推广:包括广告主(定向投放广告,精准推广自己的服务)和流量主(按月获取广告收入)

(6)统计:用户分析、图文分析、消息分析、接口分析(自定义菜单调用量)

三.商户平台

无论是申请 公众平台商户 还是 开放平台商户,申请成功后,都会拥有商户平台账号,可登陆商户平台进行操作。

商户平台主要就是做微信支付用的,如果APP或者公众号需要接入支付功能,那么就需要在公众平台申请公众平台商户,或者在开放平台申请开放平台商户。申请成功后会分配商户平台账号。

8、反向代理问题

如果以上查验绝没有解决问题,则查看下自己的服务器是否反向代理没有设置好,nginx配置反向代理代码:


proxy_set_header Host $http_host;
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信二次分享链接,出现config:invalid signature错误的解决方法 的相关文章

  • Linux 系统修改时区,nodejs 进行时间戳转换时,相差8小时

    做一个简单记录 1 查看系统时间 date date Y m d H M S 按照格式显示当前日期 结果如下 图中是修改后的时间 CST 表示的是美国 澳大利亚 古巴或中国的标准时间 2 查看时区 date Z 我系统之前查出来的是WAT
  • c语言用递归求整数阶乘n!

    include
  • CB Loss:基于有效样本的类别不平衡损失

    点击上方 AI公园 关注公众号 选择加 星标 或 置顶 因公众号更改了推送规则 记得读完点 在看 下次AI公园的新文章就能及时出现在您的订阅列表中 作者 Sik Ho Tsang 编译 ronghuaiyang 导读 使用每个类的有效样本数
  • react入坑学习(一)const 的用法

    解构赋值 const 的用法 const 概念 const 几种用法 用法一 用法二 const 的用法 在公司初次学习react 记录一点学习成果 const 概念 const 用于声明一个或多个常量 声明时必须进行初始化 且初始化后值不
  • C++ 继承详解

    C 继承 继承语法 继承方式 private继承特点 改变访问权限 名字遮蔽 继承时的对象模型 无变量遮蔽 有变量遮蔽 final关键字 继承语法 继承的一般语法为 class 派生类名 继承方式 基类名 派生类新增加的成员 继承方式 继承
  • 《神经网络与深度学习》-无监督学习

    无监督学习 1 无监督特征学习 1 1 主成分分析 1 2 稀疏编码 1 2 1 训练方法 1 2 2 稀疏编码的优点 1 3 自编码器 1 4 稀疏自编码器 1 5 堆叠自编码器 1 6 降噪自编码器 2 概率密度估计 2 1 参数密度估
  • IntelliJ IDEA For Mac 快捷键

    Mac键盘符号和修饰键说明 Command Shift Option Control Return Enter Delete 向前删除键 Fn Delete 上箭头 下箭头 左箭头 右箭头 Page Up Fn Page Down Fn H
  • windows 安装应用时 弹出 another installation inprogress.you must complete that installation before continu

    本人在Windows7同时安装 node 和 Mongodb 弹出窗口 another installation inprogress you must complete that installation before continu 然
  • 渗透测试之暴力破解路由器wifi(加强安全意识)

    前言 私自破解他人 WiFi 属于违法行为 我这里作为渗透测试攻击自己买的路由器 作为安全防范示意 加强大家安全意识 准备工作 1 淘宝购买一个 无限监听网卡 可以选择的种类还是非常多的 这里就不再赘述了 但是需要注意的是挑选无线网卡频段的
  • winform控件之BindingNavigator

    BindingNavigator控件可以为我们绑定的数据提供一个导航的功能 默认的工具是这个样子的 我们可以根据需求再增加功能 1 BindingNavigator用法 1 1界面布局 界面布局如下 一个BindingNavigator名为
  • 2018年1月1日是星期一。每年五月的第二个星期日是母亲节。 求出2018-2020的每年母亲节的日期。

    include
  • 实验七—高级数据管理(一)

    实验7 高级数据管理 一 实验目的 1 使用规范的R语言完成程序设计 2 掌握R语言自定义函数的方法 了解R语言自定义函数返回值的特殊性 3 掌握R语言多种类型的系统库函数 实验内容 1 编程实现 10以内所有偶数的和 even sum l
  • 机器学习中最小二乘和梯度下降法的个人理解

    提前说明一下 这里不涉及数学公式的推到 只是根据自己的理解来概括一下 有不准确的地方 欢迎指出 最小二乘 我们通常是根据一些离散的点来拟合出一天直线 这条直线也就是我们所说的模型 最小二乘也就是评价损失函数 loss 的一个指标 最小二乘就
  • 10.4 异常与继承

    在C 程序中 表示异常的类通常被组成为一个组 即如在前面各节讨论的那样 或者一个层次结构 1 例如 定义一个称为Excp的基类 由它来打印错误信息 class Excp public void print string msg cerr l
  • my学习OC--类的构造函数和析构函数

    前言 OC中定义和初始化对象一般使用alloc 不用new 原因 new和alloc init在功能上几乎是一致的 分配内存并完成初始化 差别在于 采用new的方式只能采用默认的init方法完成初始化 1 init继承于NSObject这个
  • uniapp 模块权限配置 权限管理 权限设置

    在uni app中如何配置权限 首先 我们先通过API了解 他对权限的需求 比如在上个帖子中 gt gt 对APP后台静默更新升级对文件管理和文件下载权限的需求 当时我们使用了这个权限 android permission WRITE EX
  • Vue刷题记录

    文章目录 前言 一 Vue的特点 二 Vue自定义指令钩子函数 三 Vue模块化开发 四 Vuex的属性 五 Vue中的scoped 什么是scoped scoped实现原理 scoped穿透 1 使用曲线救国的一个方法 用两个 style
  • Java 【手写webserver】学习笔记

    手写WebServer 基础知识 灵魂反射 import java lang reflect InvocationTargetException 反射 将JAVA类中的各种结构 方法 属性 构造器 类名 映射成一个个Java对象 1 获取c
  • vue使用elment的弹窗里面调用AMap.Autocomplete数据列表不显示问题

    amap sug result z index 10240 important 或者是地图异步问题

随机推荐