收藏
回答

云托管-云端调试-云调用-报错 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

  1. 已经在 云托管-云调用-微信令牌权限增加了 '/tcb/sendsms'
  2. 测试是在云托管-云端调试进行的
  3. HTTP 已经使用 utf-8 对中文 content 编码了
  4. env 填写了配置的云开发环境 id, 在小程序内云调用函数没问题,短信也成功扣除。就是在云托管测试出错。


请问具体问题是什么?谢谢!

回答关注问题邀请回答
收藏

2 个回答

  • 神经蛙
    神经蛙
    07-25

    已找到原因:错把云调用的 data 格式请求发到HTTP API. API 有自己的具体参数。

    07-25
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    发表于小程序端
    07-22

    json格式化错误,postman请求通了再说代码问题

    07-22
    有用
    回复
登录 后发表内容
问题标签