内容简介:阿里云短信服务 PHP adk接口【原创】
不知道各位有没有接过阿里云的短信接口,以前接接口的时候,只需要四个参数(accessKeyId,accessKeySecret,signName和templateCode),但是新的接口需要七个参数(endpoint,accessid, accesskey, topicName,sign_name, template_code, template_param_key )。
首先是准备阶段:1.下载PHP sdk(最新版 链接:https://help.aliyun.com/document_detail/32381.html?spm=5176.doc51929.6.686.Jnosz5) 2.是获得前六个参数(第七个参数,是短信模板的变量)
参数获得阶段:
1.Endpoint
(https://mns.console.aliyun.com/?spm=5176.6660585.774526198.1.HCfIAd#/topics/cn-hangzhou)
2.accessed 和 accesskey
(https://ak-console.aliyun.com/?spm=5176.doc51929.2.6.idA9js#/accesskey)
3.topicName
(https://mns.console.aliyun.com/?spm=5176.doc51929.2.9.CSilDL#/home/cn-hangzhou)
4.sign_name
(https://mns.console.aliyun.com/sms?spm=5176.2020520115.103.4.BmxCwA#/sms/Sign)
5.template_code 和 template_param_key
(https://mns.console.aliyun.com/sms?spm=5176.2020520115.103.4.BmxCwA#/sms/Template)
下面是 PHP 实例代码(红色单词代表上述参数)
<?php require_once(dirname(dirname(dirname(__FILE__))).'/mns-autoloader.php'); use AliyunMNS\Client; use AliyunMNS\Topic; use AliyunMNS\Constants; use AliyunMNS\Model\MailAttributes; use AliyunMNS\Model\SmsAttributes; use AliyunMNS\Model\BatchSmsAttributes; use AliyunMNS\Model\MessageAttributes; use AliyunMNS\Exception\MnsException; use AliyunMNS\Requests\PublishMessageRequest; class PublishBatchSMSMessageDemo { public function run($phone, $salt) { /** * Step 1. 初始化Client */ 6. $this->endPoint = " <span style="color: #ff0000;">Endpoint</span> "; // eg. http://1234567890123456.mns.cn-shenzhen.aliyuncs.com $this->accessId = " <span style="color: #ff0000;">accessid</span> "; $this->accessKey = "<span style="color: #ff0000;"> accesskey</span> "; $this->client = new Client($this->endPoint, $this->accessId, $this->accessKey); /** * Step 2. 获取主题引用 */ 7. $topicName = " topicName "; 8. $topic = $this->client->getTopicRef($topicName); /** * Step 3. 生成SMS消息属性 */ // 3.1 设置发送短信的签名(SMSSignName)和模板(SMSTemplateCode) 9. $batchSmsAttributes = new BatchSmsAttributes("<span style="color: #ff0000;">sign_name</span> ", " <span style="color: #ff0000;">template_code</span> "); // 3.2 (如果在短信模板中定义了参数)指定短信模板中对应参数的值 $batchSmsAttributes->addReceiver($phone, array("<span style="color: #ff0000;">template_param_key</span> " => $salt)); 、、、、//$batchSmsAttributes->addReceiver("YourReceiverPhoneNumber2", array("YourSMSTemplateParamKey1" => "value1")); $messageAttributes = new MessageAttributes(array($batchSmsAttributes)); /** * Step 4. 设置SMS消息体(必须) * * 注:目前暂时不支持消息内容为空,需要指定消息内容,不为空即可。 */ $messageBody = "smsmessage"; /** * Step 5. 发布SMS消息 */ $request = new PublishMessageRequest($messageBody, $messageAttributes); try { $res = $topic->publishMessage($request); echo $res->isSucceed(); echo "\n"; echo $res->getMessageId(); echo "\n"; } catch (MnsException $e) { echo $e; echo "\n"; } } } $instance = new PublishBatchSMSMessageDemo(); $instance->run(); ?>
一定要注意两点,一是传入的手机号($phone)和短信模板的变量($salt)为字符串类型,否则短信发送失败
二是各个参数一定要获得正确,否则也是失败
转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/21455.html
微信打赏
支付宝打赏
感谢您对作者ada的打赏,我们会更加努力! 如果您想成为作者,请点我
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 接口测试及常用接口测试工具
- Java中的Comparable接口和Comparator接口
- Java 的 Closeable 接口和 Cloneable 接口
- python接口自动化测试之接口数据依赖
- Kotlin 接口与 Java8 新特性接口
- Java接口全链路优化:如何降低接口RT时长
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
自媒体写作,从基本功到实战方法
余老诗 / 清华大学出版社 / 2018-9-1 / 59.00元
《自媒体写作》是一本系统而通俗易懂的自媒体写作指导书。 全书共分为10章,分别从写作基本功、新媒体认知、新媒体传播规律和自媒体作者阅读写作素养以及如何进阶等方面展开,结合简书、公众号、今日头条等主流自媒体所选例文,讲解写作知识和新媒体特点,内容详实,有理有据,非常适合自媒体写作爱好者自学。 尤其值得一提的是,写作基本功部分从原理、方法和技巧三个层面展开论说,让自媒体写作学习者既能从根本......一起来看看 《自媒体写作,从基本功到实战方法》 这本书的介绍吧!