阿里云短信验证码提示“Message“:“模板变量缺少对应参数值“

  • 在使用阿里云生成的SDK示例代码时,出现以下错误:
    {"Message":"模板变量缺少对应参数值","RequestId":"5073B16C-7AAF-46B3-B5F5-EEE929532E5C","Code":"isv.TEMPLATE_MISSING_PARAMETERS"}
    
  • 问题分析
    在短信模板中有${code},在代码中没有给对应参数。
  • 解决方法
# !/usr/bin/env python
# coding=utf-8

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
import json

# accessKeyId,accessSecret根据自己的用户填入
client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou')

# 测试验证码
params = {
    "code": 1234
}

request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dysmsapi.aliyuncs.com')
request.set_method('POST')
request.set_protocol_type('https')  # https | http
request.set_version('2017-05-25')
request.set_action_name('SendSms')

request.add_query_param('RegionId', "cn-hangzhou")
request.add_query_param('PhoneNumbers', "xxxxxxx")
request.add_query_param('SignName', "xxxx")
request.add_query_param('TemplateCode', "SMS_xxxx")

# ${code}的赋值,json格式
request.add_query_param('TemplateParam', json.dumps(params))

response = client.do_action_with_exception(request)
# python2:  print(response)
print(str(response, encoding='utf-8'))
  • 运行结果
{"Message":"OK","RequestId":"1F14423C-3457-40CF-9892-8BDF299CD1DD","BizId":"419711495303714487^0","Code":"OK"}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值