ThinkPHP5——接⼊腾讯云短信API
接⼊腾讯云短信API相当简单,最重要的是第⼀次使⽤腾讯云短信的话有100条免费短信可以测试,对于开发⼈员是⾜够了,下⾯我就教⼤家接⼊腾讯云短信。
第⼀步:准备⼯作
⾸先要在腾讯云短信申请短信签名与短信正⽂模板
填写信息,⼤概等1-2个⼩时就可以申请成功。接着下载它的短信SDK(如果你安装了Composer,也可以使⽤Composer下载)
将腾讯云提供的SDK⽂件下载下来后,在extend⽂件夹下⾯新建⼀个⽂件夹命名为sms,把腾讯云SDK的src⾥⾯所有类放到sms⽂件夹底下
第⼆步:接⼊短信API
use Qcloud\sms\SmsSingleSender;
//腾讯短信验证码
public function tenxun(){
// 短信应⽤ SDK AppID
$appid = 1400009099; // SDK AppID 以1400开头
// 短信应⽤ SDK AppKey
$appkey = "10747e9376c79fc1b523bf7f33dc16";
// 需要的⼿机号码
$phoneNumbers = input("phone");
// 短信模板 ID,需要在短信控制台中申请
$templateId = 517396; // NOTE: 这⾥的模板 ID`7839`只是⽰例,真实的模板 ID 需要在短信控制台中申请
$smsSign = "信息展⽰"; // NOTE: 签名参数使⽤的是`签名内容`,⽽不是`签名ID`。这⾥的签名"腾讯云"只是⽰例,真实的签名需要在短信控制台申请
try {
$ssender = new SmsSingleSender($appid, $appkey);
$params = [rand(1000, 9999)];//⽣成随机数
$result = $ssender->sendWithParam("86", $phoneNumbers, $templateId, $params, $smsSign, "", "");
thinkphp3$rsp = json_decode($result);
return json(["result"=>$rsp->result,"code"=>$params]);
} catch(\Exception$e) {
echo var_dump($e);
}
}
遇到的问题及解决⽅法
问题⼀:$params(随机数)必须数组,这⾥有⼏个参数是根据短信模板的内容,例如:
问题⼆:刚引⼊use Qcloud\sms\SmsSingleSender,就把不到SmsSingleSender类,原因是原来的src⾥⾯的所有类前⾯都加Qcloud,但我的⽬录是extend\sms,根本没有Qcloud,所以才报错。这样只要把sms前⾯加⼀个Qcloud⽬录,或者把sms⾥⾯的类的命名空间或use前⾯都删了Qcloud 就可以
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论