ThinkPHP5.1接入阿里云短信服务(原大鱼最新版)指导
♘背景
随着科技发展的推动,曾经充满温馨问候与回忆的短信业务,如今绝大多数局限于
验证码发送
、诈骗/骚扰信息
、业务推送
的使用而作为一名IT搬砖的码农,对于第三方服务的接入也是必须掌握的技能,此处介绍一下
ThinkPHP5.1框架下阿里云短信最新版(原大鱼)的接入方法
操作环境:
PHP版本 : 7.0.2 (如果是低版本,报错时,可参考附录解决方案)ThinkPHP版本: ThinkPHP5.1技能需求: Composer 安装依赖
本文主要针对
短信 — 验证码
接入,作为指导讲解,>>> 官方文档:阿里云-短信服务
♘开发流程
①. 前期准备-短信使用流程
- 作为前期准备的重要指引,
入驻-认证-开通服务-创建-获得参数
等在此不做赘述
详细指导参见:阿里云短信服务文档使用指引
②. Composer 安装依赖
- 作为
ThinkPHP5
超方便的工具,强烈建议使用 Composer,你会发现它的便利与快捷性
运行命令:
composer require alibabacloud/client
③. 快速学习(此步骤,跳过也可.)
- 阿里云提供了极其方便的在线测试功能,可以通过
快速学习
,测试你是否获取了所有所需的配置信息
【短信服务】——【快速学习】——【OpenAPI Explorer】
④. 代码实现
- 注意在集成方法调用前,要先进行类的引用
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
- 提供集成方法如下:
/*** 集成方法:阿里云(原大鱼)发送短信验证码* @param string $phoneNumber 目标手机号* TODO 注意 accessKeyId、accessSecret、signName、templateCode 重要参数的获取配置*/public function sendAliDaYuAuthCode($phoneNumber = '151xxxxxxx3'){$accessKeyId = 'LTAXXXXXXXXXC';$accessSecret = '8gfwbXXXXXXXXXXXXXXXXXXXXXXXXXXXXA'; //注意不要有空格$signName = 'XXXXX'; //配置签名$templateCode = 'SMS_1XXXXXX5';//配置短信模板编号//TODO 随机生成一个6位数$authCodeMT = mt_rand(100000,999999);//TODO 短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符,请参照标准的JSON协议。$jsonTemplateParam = json_encode(['code'=>$authCodeMT]);AlibabaCloud::accessKeyClient($accessKeyId, $accessSecret)->regionId('cn-hangzhou')->asGlobalClient();try {$result = AlibabaCloud::rpcRequest()->product('Dysmsapi')// ->scheme('https') // https | http->version('2017-05-25')->action('SendSms')->method('POST')->options(['query' => ['RegionId' => 'cn-hangzhou','PhoneNumbers' => $phoneNumber,//目标手机号'SignName' => $signName,'TemplateCode' => $templateCode,'TemplateParam' => $jsonTemplateParam,],])->request();$opRes = $result->toArray();//print_r($opRes);if ($opRes && $opRes['Code'] == "OK"){//进行Cookie保存cookie("authCodeMT",$authCodeMT,300);}} catch (ClientException $e) {echo $e->getErrorMessage() . PHP_EOL;} catch (ServerException $e) {echo $e->getErrorMessage() . PHP_EOL;}}
⑤. 运行效果
♘附录:
①. Ramsey\Uuid\Generator\random_int() 报错
- 此问题,测试发现存在于PHP版本较低的情况下,如
PHP-5.6.32
,
详细分析及解决请参考 Fatal error: Call to undefined function Ramsey\Uuid\Generator\random_int()
②. isv.INVALID_JSON_PARAM 报错的一种情况
- 如果在测试阶段,直接复制了
OpenAPI Explorer
生成的代码,有时会因为模板参数的json
拼合无法识别
建议,可参考我的代码思路,使用json_encode()
进行转化
③. InvalidAccessKeyId.NotFound
- 这种提示信息,只能说明你的 accessKeyId 配置错误,注意不要配置成了 短信应用中的
AppKey
过来人,友情提示,请看存放位置:
ThinkPHP5.1接入阿里云短信服务(原大鱼最新版)指导相关推荐
- 如何接入阿里云短信服务 (完整指南)
目录 一.注册并实名认证 二.开通短信服务 三.获取AccessKey 四.设置短信内容 五.配置短信接口 六.发送短信 七.常见问题FAQ 一.注册并实名认证 使用阿里云短信服务,用户需要先在阿里云 ...
- NET接入阿里云短信服务
Net Core+阿里云实现短信验证码 开通阿里云短信服务 首先要开通阿里云短信服务,这个不多赘述,看图 开通之后,来到管理控制台 点击国内消息-->签名管理-->添加签名 同样的步骤,模 ...
- ThinkPHP5框架接入阿里云短信最新版(原大鱼)的方法
下载官方SDK 第一步肯定是下载官方的SDK了,但是官方下载的SDK内容有一些多,我们不必全部都要,只将下载好的SDK文件中的api_sdk文件,改名aliyunsms,然后放入ThinkPHP5框架 ...
- 阿里云短信服务bug
接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...
- 阿里云短信服务接入流程
背景 在最近的项目需求中, 需要将复用阿里短信能力, 实现用户手机号验证: 如果用户号码验证通过后, 可以让用户上传文件资料并进行打印. 故核心内容就是: 阿里云短信服务接入, 下面我们主要来介绍下阿 ...
- python 阿里云短信服务接入流程
阿里云短信服务接入流程 最近公司项目中的业务需求包括使用阿里云发送短信,所以写一篇博客和大家分享一下python使用sdk对接阿里云短息api的流程. 阿里云官方文档 链接 左侧导航栏中有很多部分,着 ...
- 微信小程序云开发,使用阿里云短信服务,搜索员工生日定期发送短信。
相关API文档地址: 阿里云短信服务API文档地址 小程序云开发云函数正则匹配API文档地址 小程序云开发云函数定时触发器 1.登录阿里云,购买短信服务并添加签名和模板 2., 登录阿里云,鼠标放在右 ...
- legend3---PHP使用阿里云短信服务
legend3---PHP使用阿里云短信服务 一.总结 一句话总结: 使用步骤照官方文档,代码拷贝即可 1.php使用阿里云短信服务的步骤? 入驻阿里云->开通短信服务->获取Access ...
- Zabbix 3.4.3 使用阿里云短信服务进行报警
一.阿里云短信服务 有时候微信报警或者邮寄报警我们可能会有遗忘,今天我主要介绍使用阿里云的短信服务进行短信报警. 1.1.首先开通阿里云短信服务 1.2 创建签名 签名用途选择:公众号或小程序的全称或 ...
最新文章
- OKR管理和绩效考核有什么不一样呢?
- Oracle-USERS表空间解读
- 如何在spring中读取properties配置文件里面的信息
- jsp传递参数的四种方法
- Visual Studio 编译优化选项:Debug与Release、禁止优化与O1、O2、Ox优化
- 解决url中特殊字符截断参数的问题
- linux集群100道单选题面试试题系统工程师中级试题(4)
- IntelliJ IDEA 将 Maven 构建的 Java 项目打包
- DEA博弈交叉效率matlab,dea的交叉效率
- ios md5和java不一致,关于C#MD5与javaMD5不一致有关问题
- TranslateAnimation
- SharePoint 2019 部署(一)
- cli命令行配置路由器_Cisco路由CLI基础命令
- 网易被裁后,68天吃透这份阿里学长甩我的Android面试笔记,竟让我收到字节跳动和小米offer
- mysql存储指纹,mysql - ZKTeco 4500指纹验证 - 堆栈内存溢出
- 2018拼多多校招笔试贪心编程题小熊吃糖详解
- “一招定制LaTeX论文目录页教程“【新手速进】
- 如果手里有现金,是提前还房贷还是买基金?
- 控制工程基础 董景新_编委读报丨“十大最美公交司机”都是谁;新疆交通消费扶贫花样多;海南邮轮港口海上游航线试点迎来新突破……...
- LeetCode069——x的平方根
热门文章
- ajax获得header信息,关于jquery ajax跨域请求获取response headers问题
- Windows 10麦克风不能正常使用了
- 纽约游轮观光:欣赏城市精华景点的轻松理想方式
- java 重写compareTo方法实现类自定义排序
- 计算机系统还原是什么情况,电脑一键系统还原是什么意思
- 开放式耳机和封闭式耳机的区别有哪些?开放式耳机有哪些推荐?
- acro design内置的echarts组件 vue-echarts 自适应失效
- 如何在B站视频发送时间轴空降弹幕
- u盘显示需要格式化才能用怎么办?修复方法
- 北京师范学院计算机专业法律基础考试,2021--2022北京师范大学法律专业(非法学)考研综合经验分享...