.NET 阿里云短信服务开发 code: 400, TemplateCode is mandatory for this action. request id: E7B0E694-6B41-5506-AAE3-443F1BAB3452
时间: 2024-09-28 15:14:07 浏览: 79
.NET 阿里云短信服务开发时遇到错误代码 400,并提示 `TemplateCode` 是必需的,这通常意味着你在发送短信请求时缺少模板码 (Template Code)。阿里云的 SMS SDK 或 API 要求你在调用发送短信功能时提供预先设置好的模板码,这个码对应预定义的短信内容模板。
具体步骤可能包括:
1. **创建短信模板**:登录阿里云控制台,进入短信服务管理界面,创建一个新的短信模板并获取到对应的模板码(TemplateCode)。
2. **引用 SDK**:如果你使用的是阿里云的 .NET SDK,确保已经正确引用了 SDK 并初始化配置。
3. **发送短信代码示例**:
```csharp
using Alibaba Cloud.Dns.Sms.V20200622;
using Alibaba.OpenTea;
// ...
var smsClient = new SmsClient(YOUR_ACCESS_KEY_ID, YOUR_ACCESS_KEY_SECRET, RegionId.CnHangzhou);
string templateCode = "YOUR_TEMPLATE_CODE"; // 替换为实际的模板码
string phoneNumber = "+861234567890"; // 发送号码,替换为手机号
try
{
var request = new SendSmsRequest
{
PhoneNumber = phoneNumber,
SignName = "您的签名", // 签名名称
TemplateCode = templateCode,
TemplateParam = new Dictionary<string, string> { { "key", "value" } } // 如果有模板参数
};
var response = smsClient.SendSmsAsync(request).Result;
if (response.HttpResponse.IsSuccessStatusCode)
{
Console.WriteLine("短信发送成功");
}
else
{
Console.WriteLine($"发送失败,错误信息:{response.HttpResponse.Error.Message}");
}
}
catch (Exception e)
{
Console.WriteLine($"发送异常:{e.Message}");
}
```
记得将 `YOUR_ACCESS_KEY_ID`, `YOUR_ACCESS_KEY_SECRET`, 和 `YOUR TEMPLATE_CODE` 替换成实际的账号信息和模板码。
阅读全文