开发者社区> 问答> 正文

临时凭证授权、或者签名URL授权的方式

已解决

展开
收起
2018-03-21 22:55:50 1326 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

     

    1)  Javasdk:

       Date expiration = new Date(new Date().getTime() + 3600 * 1000);// 生成URL
       URL url = client.generatePresignedUrl(bucketName, key, expiration);

    2)Phpsdk:

        $signedUrl = $ossClient->signUrl($bucket, $object, $timeout);

    3)Pythonsdk:在URL中实现签名,必须至少包含Signature,Expires,OSSAccessKeyId三个参数

         h = hmac.new("OtxrzxIsfpFjA7SwPzILwy8Bw21TLhquhboDYROV",

                 "GET\n\n\n1141889120\n/oss-example/oss-api.pdf",

                 sha)

         urllib.quote_plus (base64.encodestring(h.digest()).strip())

     

    或者

       auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
       bucket = oss2.Bucket(auth, '您的Endpoint', '您的Bucket名')
       print(bucket.sign_url('GET', 'object-in-bucket.txt', 60))

    4)Androidsdk:

        String url = oss.presignConstrainedObjectURL("<bucketName>", "<objectKey>", 30 * 60);

    5) IOSsdk:

        NSString * constrainURL = nil;// sign constrain url

        OSSTask * task = [client presignConstrainURLWithBucketName:@"<bucket name>"
                                                withObjectKey:@"<object key>"
                                       withExpirationInterval: 30 * 60];

         if (!task.error) {
              constrainURL = task.result;

           } else {    

               NSLog(@"error: %@", task.error);
           }

    6)  osscmd:

    signurl(sign) oss://bucket/object --timeout=[timeout_seconds]

    SDK的具体代码可以参考如下链接:http://docs.aliyun.com/?spm=5176.383338.201.62.MwuAaz#/oss/sdk/java-sdk&preface

     

    如果问题还未能解决,请联系售后技术支持


     

    2018-03-24 20:58:49
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载