zoukankan      html  css  js  c++  java
  • PHP获取阿里云accessToken

    先安装sdk

    composer require alibabacloud/sdk
    

    需要知道 AccessKeyID,AccessKeySecret

    <?php
    
    /**
     * composer require alibabacloud/sdk
     * 获取阿里云相关的token
     */
    
    namespace CommonService;
    
    use AlibabaCloudClientAlibabaCloud;
    use AlibabaCloudClientExceptionClientException;
    use AlibabaCloudClientExceptionServerException;
    
    // 处理图片上传
    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 . "
    ";
                    $token = $response["Token"];
    
                    if ($token != NULL) {
                        // print "Token 获取成功:
    ";
                        // print_r($token);
                        $difftime = $token['ExpireTime'] - time() - 1000;
                        $this->red->setex($key, $difftime, $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);
            }
        }
    }
    
    
    
  • 相关阅读:
    新装的idea需要设置的项目
    bug活动文章地址
    环形链表的问题
    IntelliJ配置jenkins服务的Crumb Data
    算法问题求数组排序后最大相邻数差
    jdk11安装以及无jre解决方法
    算法问题大数相加
    java中级技术点
    算法实现 出入栈,寻找最小值
    算法问题2的整数次幂
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/13176377.html
Copyright © 2011-2022 走看看