已找到原因:错把云调用的 data 格式请求发到HTTP API. API 有自己的具体参数。
云托管-云端调试-云调用-报错 47001 data format error?微信小程序团队你好, 使用 Python在云托管尝试调用微信 API短信发送 data = { "env": 'xxx', "content": '哎哟嘿', "path": '/index.html', "phoneNumberList": ["+8613812345678"], "smsType": "Marketing", "useShortName": True } url = 'http://api.weixin.qq.com/tcb/sendsms' resp = requests.post(url, data=json.dumps(data, ensure_ascii=False).encode('utf-8')) 实际 requests 的 data 为 b'{"env": "xxx", "content": "\xe5\x93\x8e\xe5\x93\x9f\xe5\x98\xbf", "path": "/index.html", "phoneNumberList": ["+8613812345678"], "smsType": "Marketing", "useShortName": true}' 但是报错 200 OK Content-Length: 78 Content-Type: application/json Date: Sun, 21 Jul 2024 22:05:30 GMT Server: Tencent-CloudBase X-Cloudbase-Request-Id: 58204170-47ad-11ef-846c-525400a903d3 X-Cloudbase-Upstream-Status-Code: 200 X-Cloudbase-Upstream-Timecost: 242 X-Cloudbase-Upstream-Type: Tencent-CBR X-Request-Id: 58204170-47ad-11ef-846c-525400a903d3 X-Upstream-Status-Code: 200 X-Upstream-Timecost: 242 { errcode:47001 errmsg:"data format error rid: 669d862a-18bd6106-7587fc42" } x 已经在 云托管-云调用-微信令牌权限增加了 '/tcb/sendsms'测试是在云托管-云端调试进行的HTTP 已经使用 utf-8 对中文 content 编码了env 填写了配置的云开发环境 id, 在小程序内云调用函数没问题,短信也成功扣除。就是在云托管测试出错。 请问具体问题是什么?谢谢!
07-25