以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  阿里云短信api遇到的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161521)

--  作者:sloyy
--  发布时间:2021/3/20 12:10:00
--  阿里云短信api遇到的问题



源代码:

Dim product As String = "Dysmsapi" \'无需更改,官方名称
Dim domain As String = "dysmsapi.aliyuncs.com" \'无需更改,官方名称
Dim accessId As String = "xxx" \'更换为您的AccessKey
Dim accessSecret As String = "xxx" \'更换为您的AccessSecret
Dim regionIdForPop As String = "cn-hangzhou" \'无需更改,官方名称


Dim profile As Aliyun.Acs.Core.Profile.IClientProfile = Aliyun.Acs.Core.Profile.DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret)

Aliyun.Acs.Core.Profile.DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain)

Dim acsClient As Aliyun.Acs.Core.IAcsClient = New Aliyun.Acs.Core.DefaultAcsClient(profile)

Dim request As Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsRequest = New Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsRequest()

Dim response As Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsResponse = Nothing


Try
    request.PhoneNumbers = "13827126079"
    request.SignName = "迈宝伦科技" \'更换为您备案的短信签名
    request.TemplateCode = "SNS_1234343245" \'更换您备案的短信模板
    request.TemplateParam = "{""customer"":""123""}"  \'如果您有可替换的标签,可以设置设置json,也可以注释掉
    \'request.OutId = "YourID" \'这玩意暂时没用
    response = acsClient.GetAcsResponse(request)
    MessageBox.show(response.Message) \'这里输出发送结果."OK"就是行了.
Catch ex As Exception
    MessageBox.show("短信代码有问题,请联系技术员")
End Try


我的短信模版有一个 fphm 的参数  ,我写入数据

request.TemplateParam = "{""fphm"":""12345678""}"  

返回错误信息 : 

模板变量缺少对应参数值 


我是哪里写得不对吗?

--  作者:有点蓝
--  发布时间:2021/3/20 12:17:00
--  
可能需要传入不止一个fphm 的参数,比如还有其它customer,xxx等。看官方的开发文档说明
--  作者:sloyy
--  发布时间:2021/3/20 12:35:00
--  
一语惊醒梦中人,查看官方开发文档后才知道,fphm,Signature2个以上参数是这样写的
  request.TemplateParam = "{""fphm"":""12345678"",""Signature"":""eg4HHBe%2BICCNCtCthdpw""}"  \'如果您有可替换的标签,可以设置设置json,也可以注释掉
而不是分别写2个 request.TemplateParam
谢谢有点蓝大师,你是最棒的!   
 

--  作者:有点蓝
--  发布时间:2021/3/20 14:11:00
--  
建议使用这种用法生成json字符串:http://www.foxtable.com/mobilehelp/topics/0167.htm