开发者社区> 问答> 正文

如何通过api获取OSS私有对象的访问外链?

官方的oss api文档中提供相关私有对象如何获取外链的介绍。


是否可以通过api获取私有对象的外链呢? 并且不暴露accesskey

展开
收起
plbeast 2013-07-06 11:04:01 16657 0
7 条回答
写回答
取消 提交回答
  • 回 6楼maleking的帖子
    应该不会一样吧,有过期时刻这个参数会让URL一直不一样,你可以在前端加个判断啊,当前时间是否晚于过期时刻再决定是否再获取URL
    2018-04-27 22:35:31
    赞同 展开评论 打赏
  • 回 5楼wood23的帖子
    URL过期后怎么重新获取啊?为什么每次请求得到的URL都是一样的?获取过期的URL还是不能用啊。请教大虾!
    2018-04-24 17:22:04
    赞同 展开评论 打赏
  • 很多SDK里都有这个签名URL访问
    https://help.aliyun.com/document_detail/32016.html?spm=5176.doc32014.6.656.mnOlhD

    使用签名URL发送请求

    现在java SDK支持put object和get object两种方式的URL签名请求。

    使用URL签名的方式getobject

    //服务器端生成url签名字串
    OSSClient Server  = new OSSClient(endpoint, accessId, accessKey);
    Date expiration = DateUtil.parseRfc822Date("Wed, 18 Mar 2015 14:20:00 GMT");
    GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, key, HttpMethod.GET);
    //设置过期时间
    request.setExpiration(expiration);
    // 生成URL签名(HTTP GET请求)
    URL signedUrl = Server .generatePresignedUrl(request);
    System.out.println("signed url for getObject: " + signedUrl);

    //客户端使用使用url签名字串发送请求
    OSSClient client  = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    Map<String, String> customHeaders = new HashMap<String, String>();
    // 添加GetObject请求头
    customHeaders.put("Range", "bytes=100-1000");
    OSSObject object = client.getObject(signedUrl,customHeaders);
    2017-03-25 15:43:50
    赞同 1 展开评论 打赏
  • 嗯,KEY不暴露,ID要暴露吧。
    2017-03-24 14:27:56
    赞同 展开评论 打赏
  • Re如何通过api获取OSS私有对象的访问外链?
    同问
    2017-03-15 15:07:45
    赞同 展开评论 打赏
  • Re如何通过api获取OSS私有对象的访问外链?
    2013-07-08 18:45:37
    赞同 展开评论 打赏
  • 1.      可详见 AIP文档 第4章“访问控制”篇。
    2.      可登录“OSS控制台” 对象(objcet)属性,其中有“获取外链URL”的功能


    2013-07-08 16:44:04
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载