微公众平台的账号终于申请下来的,需求“微信微信分享自定义标题、描述、图片”可以开做了。
过后发现,该微信接口的开发挺依赖后台技术(php、java、nodejs、python)支持的,对于前端er还是有点折腾的。
自定义获取 config 参数值
微信公众平台开发者文档,说明得挺详细的;只是对于前端er还是有点挑战的。
获取以下的config接口注入参数过程是最繁琐的:
|
|
以上出现是在 JSSDK使用步骤 的 步骤三 中,进入过程如下:微信公众平台首页
-> 左侧底部:开发者工具
-> 开发者文档
-> 微信网页开发
-> 微信JS-SDK
-> 即可看到详尽的说明文档
第一次看到这 步骤三 时,完全懵了,timestamp
nonceStr
signature
这三数据去哪获取到的?也看不到明显指示。最终折腾翻翻,是在说明文档的后面 附录1-JS-SDK使用权限签名算法
这里有详细说明的。
接下来,按部就班,根据 AppID
AppSecret
去获取到 access_token
和 jsapi_ticket
。(俺是直接打开 写入了参数的 url 直接获取到返回的 json 值的)。
然后,利用 noncestr
jsapi_ticket
url
拼接成字符串,以签名算法 sha1()
处理得到 signature
。(php 代码,俺直接 copy ,粘贴到在线环境执行的,最终得到了 signature
).
然而,这种自定义获取 config 参数值,失败了,觉得自己弄的 php 糊里糊涂没谱;这时候,才发现原来官方提供了 demo 啊!
参照官方demo来改造
在 JSSDK使用步骤 的最底部中,提供有 demo页面 和 示例代码 。
示例代码提供了4种,php、java、nodejs、python;这里以 php 为例:
|
|
咋一看,只需要在代码第三行传入 AppID
AppSecret
即可!config
中的参数已经帮忙用 php 写好啦!(对于还没深入学过 php 的前端er是多么幸福的事儿。)
当然,把这个代码实例移植时,出现了一大推 php 的报错;咋一看应该是路径没设置好;果断抓来一 php 同事搞定好;好,之前报的错误全没了!
用手机微信打开测试,遇到的弹出 debug ,也能一一通过 附录5-常见错误及解决方法
按部就班解决了。
最后一个 debug 弹出的是:invalid url domain
之前担心的一个问题终于来了:微信公众号绑定的域名是线上正式域名,该接口只能在所绑定的域名下被调用。所以在自己本机本地环境无法进行自定义分享的测试,弹出 debug invalid url domain
。
决定找 php 同事帮忙,好像有方法了,待成功了再分享……