Use tencent SMS in Go
因为遇到了一个需要短信验证码服务的需求,所以使用了一下腾讯云的短信服务。这里进行一些简单的记录。
开发中遇到了一个需要使用短信验证码的服务需求,这里使用了腾讯云的短信服务,Go 版本为 1.18
首先要先开通腾讯云的短信服务,相当于一个专门用于发送短信的服务器。
一共涉及到两个接口,分别是 SendVerificationCode()
CheckVerificationCode()
- 客户端先通过
SendVerificationCode()
API 要求服务端使用 SMS 服务向用户手机发送验证码 - 服务端生成随机验证码,并将该验证码和用户手机号码存入缓存,
- 通过 Tencent SDK Go 向 SMS 发送包含随机验证码和用户手机号码的短信发送请求
- SMS 向用户发送短信并给服务端响应
- 客户端通过
CheckVerificationCode()
API 向服务器发送用户获取到的验证码。 - 服务端检查验证码,通过后提供服务。
这里我是通过引入腾讯云的 Go SDK 来进行 SMS(Short Message Service) 业务的使用。需要引入,
SMS 服务需要几个参数,
YAML | |
---|---|
SecretId
、SecretKey
查询地址:https://console.cloud.tencent.com/cam/capi
应用 ID 可前往 短信控制台 查看
短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可前往 国内短信 查看
模板 ID: 必须填写已审核通过的模板 ID,模板 ID 可前往 国内短信 查看
下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
在开发期间建议将 Send Message 的 response 打印出来,例如以下
Go | |
---|---|
有很大一部分错误通过打印 response.Response
可以更快的找到问题。
最后更新:
April 1, 2024
创建日期: September 24, 2023
创建日期: September 24, 2023