日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

微信公眾平臺:invalid signature

時間:2018-03-14 00:21:18 類型:PHP
字號:    

微信公眾平臺在做微信 JS 接口簽名報以下錯誤:invalid signature

按照微信文檔一一對照檢查:

1. 生成簽名正確

2. nonceStr大小寫正確

3. appid 與用來獲取 jsapi_ticket 的 appid 一致

以上三條沒有問題,然后很多人就不知道該怎么辦了,這里不要忽視第四條,既然前面都正確,那肯定就是url不正確了,然后很多人會表面看url, 然后就想當(dāng)然的去想url一定正確了, 其實這里不能想當(dāng)然,比如下面情況,這就導(dǎo)致了,實際的url并不是我們一開始規(guī)定的url,在后面被加上了?及相關(guān)參數(shù)

微信分享會根據(jù)分享的不同,為原始鏈接拼接如下參數(shù):

朋友圈   from=timeline&isappinstalled=0
微信群   from=groupmessage&isappinstalled=0
好友分享 from=singlemessage&isappinstalled=0

在連接后加上?&再進行分享,分享成功,原理

這里給出一個正確獲取url的方法:

$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== off || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
  $url = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];