要对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的示例代码
下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip
网址在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-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:
* 邮箱地址:weixin-open@qq.com
* 邮件主题:【微信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