1. 程式人生 > >微信連結分享後無法正確獲取簽名

微信連結分享後無法正確獲取簽名


微信分享會根據分享的不同,為原始連結拼接如下引數:

對於IOS系統會自動增加如下引數:

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

對於安卓系統會自動新增如下引數:

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

這樣導致請求頁面獲取地理位置wx.getLocation方法失敗,可通過wx.config設定debug : ture進行除錯,發現

究其原因是簽名計算錯誤了。

進入獲取簽名的方法中,需要在url上新增固定分享後的引數之後再進行簽名執行。

 StringBuilder url = new StringBuilder(“XXXXXXXX”);
 
//此處用於分享後多出來的引數加入一起參加簽名計算,不然會簽名計算錯誤,導致頁面無法獲取地理位置
String from = request.getParameter("from");
String isappinstalled = request.getParameter("isappinstalled");
 
if(StringUtils.isNotBlank(from)){ 
     url.append("?from="+from);
}
if(StringUtils.isNotBlank(isappinstalled)){
     url.append("&isappinstalled="+isappinstalled);
}            
問題解決!

       原文地址:http://www.cnblogs.com/conswin/p/7145766.html