请问 哪有阿里云 短信服务 api 请求签名PHP教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问 哪有阿里云 短信服务 api 请求签名PHP教程相关的知识,希望对你有一定的参考价值。

请问谁有阿里云 短信服务 api 请求签名php教程,最好是视频的 ,一步一步完成的,官方 java的 看不懂。我不要stk demo ,就要自己写的, 合适的可以付费学

官方不是有好多个demo么,不止有java的吧,多看看练练就会,你自己要具体接入项目可以参考写一下,有些开源的程序都有插件,不想自己弄,也可以找额代接入或者指导教学,谢谢 参考技术A 官方有文档说明的吧?按照文档说明写就可以了啊! 参考技术B 可以参考官方的给出的php SDK文档哦。 需要原生教学的话,可以私聊。

PHP 对接阿里云短信

一、前期要准备工作:

1、tp5.1框架

2、composer

二、下载官方的SDK

1、关于asseccKeyId和asseccKeySecret、模板签名此处略过了。如果您只是要做开发接口,并不想申请的话可以使用官方提供的测试模板:

2、在tp5.1框架composer阿里云短信的依赖包、官方的API文档里面有教程!

官方有两个SDK的选择,选择升级版的SDK。至于没选这个原版的SDK是有原因的,我第一次选的就是原版的SDK,在执行“composer require alibabacloud/dysmsapi 1.8.1236” 时composer提示没有找到该包,至于是什么问题目前也没有找出,百度找到的问题就说是镜像的问题,可我切换到了其他镜像也无法成功下载下来,所以就直接选择了升级版(ps:可能是我太菜了吧!)

在composer的SDK时需要注意PHP版本!官方的环境要求和版本的说明是这样子的:

在tp5.1的根目录下按照顺序执行composer语句即可,执行完没有报错的话就是下载成功!

在根目录的extend文件夹下创建文件夹Alicode、然后在建立Sample.php文件

将下面的代码复制到Sample.php中

<?php
namespace Alicode;

use AlibabaCloud\\SDK\\Dysmsapi\\V20170525\\Dysmsapi;
use AlibabaCloud\\Tea\\Tea;
use AlibabaCloud\\Tea\\Utils\\Utils;
use AlibabaCloud\\Tea\\Console\\Console;

use Darabonba\\OpenApi\\Models\\Config;
use AlibabaCloud\\SDK\\Dysmsapi\\V20170525\\Models\\SendSmsRequest;

class Sample 
    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Dysmsapi Client
     */
    public static function createClient($accessKeyId, $accessKeySecret)
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "dysmsapi.aliyuncs.com";
        return new Dysmsapi($config);
    

    /**
     * @param string[] $data
     * @return void
     */
    public static function main($data)
        extract($data);
        $client = self::createClient($accessKeyId,$accessKeySecret);
        $sendSmsRequest = new SendSmsRequest([
            "phoneNumbers" => $phone,
            "signName" => $signName,
            "templateCode" => $templateCode,
            "templateParam" => $templateParam,
        ]);
        $resp = $client->sendSms($sendSmsRequest);
    

到此步骤基本上是搭建成功,接下来就是调用:

public function phoneCode()

        //手机号

        $phone = $this->request->param('phone');

        //生成验证码

        $code = createCaptcha();

        // 阿里云规定必须json字符串

        $templateParam = json_decode(['code'=>$code]);

        $data = [

            'accessKeyId' => $accessKeyId,//accessKeyId

            'accessKeySecret' => $accessKeySecret,//accessKeySecret

            'phone' => $phone,//手机号

            'templateParam' => $templateParam,//验证码字符串

            'signName' => '阿里云短信测试',//签名名称

            'templateCode' => 'SMS_154950909',//模版Code

        ];

        $Sample = new \\Alicode\\Sample();

        $Sample->main($data);

    

以上是关于请问 哪有阿里云 短信服务 api 请求签名PHP教程的主要内容,如果未能解决你的问题,请参考以下文章

阿里云升级版短信验证教程PHP篇

阿里云升级版短信验证教程PHP篇

如何有效防止API的重放攻击(转自阿里云)

阿里云视频直播API签名机制源码

PHP接入阿里云市场 阿里短信服务DEMO

PHP 对接阿里云短信