微信分享功能填坑過程
要對H5頁面進行微信分享自定義標題,描述,圖片的開發,遇到各種坑,記錄下填坑的過程。
參考文章:
http://www.jb51.net/article/98467.htm
https://my.oschina.net/superkangning/blog/368043
http://www.cnblogs.com/txw1958/p/weixin-js-sdk-php-demo.html
https://jingyan.baidu.com/article/d3b74d64c517051f77e609ed.html
http://1017401036.iteye.com/blog/2263358
http://blog.csdn.net/xdd19910505/article/details/50957713
http://blog.csdn.net/wxs55555/article/details/72673966
http://www.cnblogs.com/zhengxu/articles/6743301.html
一、要使用微信JS-SDK,說明文件地址,
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
二、官方有包含php、java、nodejs以及python的示例程式碼
網址在https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN最下面
返回錯誤資訊:errmsg config param is empty,原因demo程式碼,遺憾的是其中wx.config中的jsApiList:為空,因此經常有人直接除錯的時候就出現下面錯誤提示,解決參考文章
http://blog.csdn.net/cctcc/article/details/51792412
微信jssdk呼叫介面時報permission denied ,無許可權,參考文章
http://www.oschina.net/question/820519_236858
三、返回錯誤資訊"errorMsg":"config fail",也可能是報的jssdk config:invalid signature,記不清楚了
是config驗證錯誤,解決思路,應該是jsapi_ticket錯誤,除錯將sample.php中
程式碼修改為
<script>
/*
* 注意:
* 1. 所有的JS介面只能在公眾號繫結的域名下呼叫,公眾號開發者需要先登入微信公眾平臺進入“公眾號設定”的“功能設定”裡填寫“JS介面安全域名”。
* 2. 如果發現在 Android 不能分享自定義內容,請到官網下載最新的包覆蓋安裝,Android 自定義分享介面需升級至 6.0.2.58 版本及以上。
* 3. 常見問題及完整 JS-SDK 文件地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
*
* 開發中遇到問題詳見文件“附錄5-常見錯誤及解決辦法”解決,如仍未能解決可通過以下渠道反饋:
* 郵箱地址:[email protected]
* 郵件主題:【微信JS-SDK反饋】具體問題
* 郵件內容說明:用簡明的語言描述問題所在,並交代清楚遇到該問題的場景,可附上截圖圖片,微信團隊會盡快處理你的反饋。
*/
wx.config({
debug: false,
appId: '<?php echo $signPackage["appId"];?>',
timestamp: <?php echo $signPackage["timestamp"];?>,
nonceStr: '<?php echo $signPackage["nonceStr"];?>',
signature: '<?php echo $signPackage["signature"];?>',
url: '<?php echo $signPackage["url"];?>',
rawString: '<?php echo $signPackage["rawString"];?>',
jsApiList: [
'chooseImage',
// 所有要呼叫的 API 都要加到這個列表中
]
});
wx.ready(function () {
// 在這裡呼叫 API
wx.chooseImage({
count: 1, // 預設9
sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,預設二者都有
sourceType: ['album', 'camera'], // 可以指定來源是相簿還是相機,預設二者都有
success: function (res) {
var localIds = res.localIds; // 返回選定照片的本地ID列表,localId可以作為img標籤的src屬性顯示圖片
}
});
});
</script>
參考解決方法:https://segmentfault.com/q/1010000002520634
微信 JS 介面簽名校驗工具
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
四、檢視相關資訊,我遇到的錯誤是jsapi_ticket獲取不到,分析原因,最大原因是沒有get到accessToken,那是因為你的網站IP沒有加入微信IP白名單,
參考方法 http://blog.sina.com.cn/s/blog_559a57740102xhnz.html 第二種啥x原因,因為獲取微信開發者密碼的時候自己沒有管理員許可權,手抄的,把b抄成了6,我鬱悶了
五、報errmsg config ok,一致以為是錯誤資訊,實際上已經是ok了,errmsg不是errormsg可以測試一下,用上面的程式碼,測試功能是ok的,因為本人賬號沒有介面分享許可權,所以只能做選擇圖片的功能測試。
參考方法:http://www.cnblogs.com/txw1958/p/weixin-js.html