当前,随着网络技术的不断进步,人们一对一源码对于文件的上传下载及访问速度要求越来越高,传统意义上,大部分程序选择将文件保存在本地,优点是文件自取方便,缺点是一对一源码资源文件不好管理,很大程度上占用服务器资源,那么,像阿里,腾讯,七牛等服务商提供了云存储的概念,将一对一源码文件通过云存储商提供的sdk或api上传至云端保存,优点是可以一存多用,方便资源文件管理,不占用服务器资源,那么,下面我们着重讲解下一对一视频聊天系统在腾讯云存储在设置存储桶权限为私有读写时,如何生成腾讯云访问资源文件的私有秘钥。
一:首先,我们参考的文档有
https: // cloud.tencent .com/document/product/436/7778
这是腾讯提供的在一对一源码中获取私有秘钥2.0文档,文档里的生成规则都有,唯独缺少token的生成规则,而通过跟腾讯技术人员沟通发现,该token的生成规则腾讯并未向开发者开放。
二:其次,还有一个参考文档:
https: // cloud.tencent .com/document/product/436/14048
这是腾讯提供的临时秘钥生成文档,通过实验我们发现,这个临时秘钥不能直接访问一对一源码云存储资源,需要通过该临时秘钥生成2.0接口里的参数列表,通过参数列表才可以正式访问到私有读写权限下的文件,着实有点绕,这文档分的也让人摸不着头脑。根据两个文档和社区的参考意见,我们整理了一份关于一对一视频聊天系统私有权限下访问资源文件的秘钥代码,话不多说,开整。
第一步:一对一源码配置参数
$config = array(
'Url' => 'https://sts.api.qcloud.com/v2/index.php',
'Domain' => 'sts.api.qcloud.com',
'Proxy' => '',
'SecretId' => 'API密钥ID', // 固定密钥
'SecretKey' => 'API密钥KEY', // 固定密钥
'Bucket' => '存储桶名称(name-125112233)',
'Region' => 'ap-chengdu', //存储桶地域
'AllowPrefix' => '*', // 这里改成允许的路径前缀,这里可以根据自己网站的用户登录态判断允许上传的目录,例子:* 或者 a/* 或者 a.jpg
);
第二步:一对一源码定义函数obj 转 query string
function json2str($obj) {
ksort($obj);
$arr = array();
foreach ($obj as $key => $val) {
array_push($arr, $key . '=' . $val);
}
return join('&', $arr);
}
第三步:一对一源码定义函数,计算临时签名用的秘钥
function getSignature($opt, $key, $method) {
$formatString = $method . $config['Domain'] . '/v2/inde