我想获取access_token码,然后用customerServiceMessage.send给客户发送订单的相关信息,access_token每次都是从新获取的,但是一直报40001错误,invalid credential, access_token is invalid or not latest hint,很迷啊,不知道为什么,希望大神可以帮我一把,早日出坑!接下来把代码放上来:
wx.cloud.callFunction({ name: 'sendmessage' , success:res=>{ console.log(res.result) wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN' , method: 'POST' , data:{ access_token: res.result, touser: that.data.orderarr[listindex]._openid, msgtype: 'text' , content: "感谢您的使用!" }, success: res1=>{ console.log(res1) }, fail:err1=>{ console.log(err1) } }) } }) |
做一个简单说明,这个“sendmessage”云函数返回的是取到的access_token。
错误截图
你url后面跟了一个?access_token=ACCESS_TOKEN
与POST的data里的access_token冲突了
把url后面的删除再看看
去掉之后报这个错误
那你就把POST的data里的去掉啊,留url后面的access_token:
url:
'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' + res.result
,
报这个错误
另外access_token一定要保存7000秒,不要每次都重新获取。
加上header:
可以将你的access_token存在数据库,每次从数据库中获取,验证过期时间,过期了重新获取,不要每次都获取新的,然后再试试
没用啊,我也想过可能是获取太频繁,我就获取了一次,然后只调用send方法,并将send方法中的access_token写死了,然而还是报这个错误
可以看一下获取access_token的appid和你的小程序appid是同一个吗?
已经完美绝了!谢谢
楼主啊,我现在也遇到了!!,请问是怎么解决 的? 谢谢
私聊,加我微信:Hty11294223,有点复杂