java-微信分享自定義內容功能(總結)
java寫微信分享自定義內容功能遇到的一個bug
需求:使用者通過關注公眾號 開啟邀請好友頁面(前提必須先登入) 點選手機右上角豎形的圖示 傳送自定義內容 給朋友,qq好友,傳送微信朋友圈,QQ空間等
具體的文件可以參考微信官方文件
邀請好友頁面:
一定要引入<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>這個js
js內容:
剩下的完整版會上傳
一進這個頁面呼叫的後臺介面:
獲取頁面需要用到ticket過程
把獲取到的appId timestamp nonceStr singnature 四個引數傳遞到頁面
把上面js 裡面debug : false 改成debug : true
訪問頁面後 如果有錯誤資訊會彈框提示的
如果出現invalid signature 這個錯誤 :首先去根據你的引數和你拿到jsapi_ticket 用測試工具測試一下跟你獲取的signature引數是不是一樣的
微信提供的測試地址 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
如果使用測試工具後發現獲取的signature 和自己生成的引數一樣的話就要看下你的appId和你獲取jsapi_ticket 使用的是不是一個appID
如果不確定 在js裡面建議先把appId寫死 確保沒問題
那麼問題來了,如果這些都沒問題的話 就要看你的程式碼獲取的url和 你頁面當前url是否一致
在頁面上可以alert(location.href.split('#')[0])得到當前url ,然後後臺可以先寫死alert出來的這個url
注意如果你的地址後面帶引數#類似的看下官方文件,只需要獲取截止到#以前的資料
我的地址是http://xxx.baidu.com/img/test 在後臺獲取的時候就是http://xxx.baidu.com/img/test這個地址 不要再後面加引數或者/
要了解更多的資訊 可以參考微信官方文件 ~~