如题的问题,作者就自己目前开发时的项目已经解决了,在这做一下总结,希望能帮到还被此问题困扰的小伙伴们。在这里就不附图了,相信作为开发者的你们肯定能看的懂。
首先,【官方的接口】应该是没啥问题的。目前作者已经调通,而且线上也有很多类似的小程序也都使用正常。
其次在来说说作者本次的问题出在哪。
既然接口正常了,那无非就是【代码】或者【配置】的问题了。
作者先是检查了代码层面的问题,修改了参数名、参数值后,接口都能正确的返回对应的错误提示,说明接口那边已经正确读取到了我们传的参数个数、名称与值。
获取详情的接口一共用到了三个参数
access_token
card_id
encrypt_code
其中【card_id】与【encrypt_code】是通过wx.chooseinvoice返回的,所以这两个参数的值应该是没有问题的。
【access_token】是通过当前小程序的appid与appsecret请求接口获取的,也都能获取的到。
但是问题就出在这!!!
作者当时小程序配置文件里用的【个人】开发者账户的appid,而请求接口获取【access_token】的时候传的是【公司】开发者账户的appid,以至于最终导致请求获取详情接口,死活返回 【{“errcode”:72031,“errmsg”:“invalid params hint: [7UqCSa0798e260]”} 】这个问题
在这里,作者犯了一个很低级的错误,项目配置中的appid与请求接口的appid不一致,虽然只是写了个测试demo看一下效果,但还是自己犯了个细节上的错误。
之前看社区里面有很多小伙伴也碰到死活返回【{“errcode”:72031,“errmsg”:“invalid params hint: [7UqCSa0798e260]”}】的问题,有的是小程序,有的是公众号,有的说用小程序或者公众号的配置信息都不能正确获取。有可能你们出错的地方与作者的不一样,不过应该也是大差不差,肯定是在自己【代码】或者【配置】上出了错误。细心检查一下吧,肯定能解决的。
不过最后,作者在这有一个小小的【意见】。官方接口在返回错误信息的时候,如果能返回的再详细一点,那就更好了。当然这次的问题,返回【invalid params hint】的确没错,的确是参数有误,不过如果能提示到对应的【字段】或者【错误点】,也能方便作为码农的我们,嘿嘿(码农苦啊😭)。
不过作为码农的我们在开发中也得仔细仔细再仔细。
配置文件里面的appId应该和这个接口没关系吧
这两个都对了,还是这个错误,