• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • PHP获取阿里云accessToken

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:920篇文章
  • 发布时间:2023年12月15日 23:12:22
  • 所属分类:PHP+MySql, PHP原生源码
  • 阅读次数:92次阅读
  • 标签:
  • 先安装sdk

    composer require alibabacloud/sdk

    需要知道 AccessKeyID,AccessKeySecret

    <?php/**
     * composer require alibabacloud/sdk
     * 获取阿里云相关的token
     */namespace Common\Service;use AlibabaCloud\Client\AlibabaCloud;use AlibabaCloud\Client\Exception\ClientException;use AlibabaCloud\Client\Exception\ServerException;// 处理图片上传class AliTokenService extends CommonService{    public function getToken()
        {        // 查询缓存中是否存在
            $key = "ali_access_token_caomall";        $ttl = $this->red->ttl($key);        if ($ttl == -2) { // 不存在
                /**
                 * 第一步:设置一个全局客户端
                 * 使用阿里云RAM账号的AccessKey ID和AccessKey Secret进行鉴权
                 */
                AlibabaCloud::accessKeyClient(
                    C('ALI.AccessKeyID'),
                    C('ALI.AccessKeySecret')
                )
                    ->regionId("cn-shanghai")
                    ->asDefaultClient();            try {                $response = AlibabaCloud::nlsCloudMeta()
                        ->v20180518()
                        ->createToken()
                        ->request();                // print $response . "\n";
                    $token = $response["Token"];                if ($token != NULL) {                    // print "Token 获取成功:\n";
                        // print_r($token);
                        $this->red->setex($key, $token['ExpireTime'] - 1000, $token['Id']);                    return $token['Id'];
                    } else {                    return false;
                    }
                } catch (ClientException $exception) {                // 获取错误消息
                    return false;                // print_r($exception->getErrorMessage());
                } catch (ServerException $exception) {                // 获取错误消息
                    return false;                // print_r($exception->getErrorMessage());
                }
            } else {            return $this->red->get($key);
            }
        }
    }

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!