1. 程式人生 > >新版阿里雲簡訊介面呼叫

新版阿里雲簡訊介面呼叫

今天專案需要用到阿里雲的簡訊介面,看了文件,感覺文件說的不詳細,demo也是有點亂,找了資料,發現說是今年新改版的,費了點勁,弄好了,阿里的這個簡訊介面呼叫比其他的簡訊介面麻煩點,但更安全點;

前面的申請簽名和模板,新增一個祕鑰就不說了;

首先,把下載的demo裡面的api_sdk檔案放入到Vendor資料夾改名為Aliyun,下面的Aliyun都是這個資料夾(tp框架,其他框架放在自己的引入外部類資料夾就行),裡面, 然後可以寫一個class類,把下面的函式放進去,也可以直接放入到common裡面,記得要use; useAliyun\Core\Config; useAliyun\Core\Profile\DefaultProfile;
useAliyun\Core\DefaultAcsClient; use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; /**      * 傳送簡訊介面      * 文件地址https://help.aliyun.com/document_detail/55491.html?spm=5176.doc55491.6.560.0KUKny      *@param$signName   簽名名稱      *@param$smscode  簡訊模板ID      *@param$mobile   手機號      *@param$params   模板替換引數
     *@returnmixed    code = OK 表示完成      */ functionsendAliyunSms($signName,$smscode,$mobile,$params)     { require_onceVENDOR_PATH .'/aliyunsms/vendor/autoload.php';//VENDOR_PATH這個是tp框架的引用Vendor資料夾的方式,其他框架自己修改,就是引入autoload.php這個php檔案就行         Config::load();         $sms_config = C("aliyun_SMS_CONFIG"
);//引入配置引數         $templateParam = $params;         $templateCode = $smscode;         $product ="Dysmsapi";         $domain ="dysmsapi.aliyuncs.com";         $region ="cn-hangzhou"; $profile= DefaultProfile::getProfile($region, $sms_config['Access_Key'], $sms_config['Secret']);         DefaultProfile::addEndpoint("cn-hangzhou","cn-hangzhou", $product, $domain);         $acsClient=newDefaultAcsClient($profile);         $request =newSendSmsRequest();         $request->setPhoneNumbers($mobile);         $request->setSignName($signName);         $request->setTemplateCode($templateCode); if($templateParam) {             $request->setTemplateParam(json_encode($templateParam));         }         $acsResponse = $acsClient->getAcsResponse($request);         $result = json_decode(json_encode($acsResponse),true); return$result;     } 最後就是呼叫:         $response =sendAliyunSms( "xx網路",// 簡訊簽名 "SMS_89757",// 簡訊模板編號 "123456789",// 簡訊接收者 array('customer'=>'89757')         ); 就ok。