php 微信分享好友朋友圈自定义标题 描述和图片 报错 63002,invalid signature

之前搞过一次一直没有记录。导致这次操作的时候有点吃力报错。一直给我报错63002,invalid signature
记得第一次搞的时候很快啊 这次卡了几个小时时间去排查。
首先我们要根据微信官方文档排查 确定不是自己参数问题

进入官方文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 参考地址
一般 前端 配置的只有这几个东西
在这里插入图片描述
这四个 参数要和你后台的参数对应一致。

里面有个很重要的坑。就是你全部检查完了 生成的签名都是OK的,那么有个很重要的一定要检查
就是后端的签名参数url这个

我们看看后端的代码

完整代码

ajax 请求地址过来的 主要是哪个url

后端 我用 php urlencode编码了 但是还是报签名错误。最后无奈 就先请求吧当前分享页面的url

前端获取到 进行编码 传进来 然后拿这个去进行生成签名 然后居然就成功解决

// 步骤1.设置appid和appsecret
$appid = ‘wx77d837734612322c’; //此处填写绑定的微信公众号的appid
$appsecret = ‘de405c059f2d336548a3b6780e8de154’; //此处填写绑定的微信公众号的密钥id

// 步骤2.生成签名的随机串
function nonceStr($length){
$str = ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK1NGJBQRSTUVWXYZ’;//随即串,62个字符
s t r l e n = 62 ; w h i l e ( strlen = 62; while( strlen=62;while(length > $strlen){
$str .= $str;
$strlen += 62;
}
s t r = s t r s h u f f l e ( str = str_shuffle( str=strshuffle(str);
return substr( s t r , 0 , str,0, str,0,length);
}

// 步骤3.获取access_token
KaTeX parse error: Expected 'EOF', got '&' at position 97: …ient_credential&̲appid='.appid.’&secret=’.$appsecret);
j s o n = j s o n d e c o d e ( json = json_decode( json=jsondecode(result,true);
$access_token = $json[‘access_token’];

// 步骤4.获取ticket
KaTeX parse error: Expected 'EOF', got '&' at position 69: …cket?type=jsapi&̲access_token=access_token";
$res = json_decode ( file_get_contents( $url ) );
$ticket = $res->ticket;

// 步骤5.生成wx.config需要的参数
// s u r l = ′ h t t p : / / ′ . surl = 'http://'. surl=http://._SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
$surl = $_REQUEST[‘url’];

$ws = getWxConfig( $ticket,$surl,time(),nonceStr(16) );

echo json_encode($ws);die;

function getWxConfig( j s a p i T i c k e t , jsapiTicket, jsapiTicket,url, t i m e s t a m p , timestamp, timestamp,nonceStr) {
s t r i n g = " j s a p i t i c k e t = string = "jsapi_ticket= string="jsapiticket=jsapiTicket&noncestr=KaTeX parse error: Expected 'EOF', got '&' at position 9: nonceStr&̲timestamp=timestamp&url=$url";
$signature = sha1 ( $string );

$WxConfig["appId"] = 'wx77d837734612322c';
$WxConfig["nonceStr"] = $nonceStr;
$WxConfig["timestamp"] = $timestamp;
$WxConfig["url"] = $url;
$WxConfig["signature"] = $signature;
$WxConfig["rawString"] = $string;
return $WxConfig;

}

前端整体代码如下:

查看实现效果
在这里插入图片描述
有问题的大家留言讨论。希望可以帮到你们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值