tencent cloud

Cloud Object Storage

Object Access URL

PDF
Focus Mode
Font Size
Last updated: 2026-03-05 17:00:39

Introduction

This article describes the sample code and description for generating object access URLs via the COS C++ SDK.

Must-Knows

Buckets created after January 1, 2024 do not support previewing files in the browser using the default domain. It is recommended that you configure a custom domain. For details, see Bucket Switching to Custom Domain.
If your file has private read permissions, then the URL generated by this API cannot be directly used to access the resource.
This API involves pure client-side logic and therefore does not require special authorization.

Related Examples

Function Name
Description
Example code
Object Access URL
Implementing the feature of generating object access URLs

Preliminary Preparation

Create CosAPI

Before the COS API is called, you must first create an instance of CosAPI to make subsequent call requests.
qcloud_cos::CosAPI InitCosAPI() {
uint64_t appid = 12500000000;
std::string region = "ap-guangzhou";// Region of the bucket, see https://www.tencentcloud.com/document/product/436/62?from_cn_redirect=1
std::string secret_id = "************************************"; // User's SecretId. It is recommended to use sub-account keys, with authorization following the least privilege principle to mitigate usage risks. For information on how to obtain sub-account keys, see https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
std::string secret_key = "************************************"; // User's SecretKey. It is recommended to use sub-account keys, with authorization following the least privilege principle to mitigate usage risks. For information on how to obtain sub-account keys, see https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
qcloud_cos::CosConfig config(appid, secret_id, secret_key, region);
qcloud_cos::CosAPI cos_tmp(config);
return cos_tmp;
}

Create CosAPI Using a Temporary Key

To access COS with a temporary key, you need to create a CosAPI instance using the temporary key.
qcloud_cos::CosAPI InitCosAPI() {
// You need to have obtained the temporary key results: tmp_secret_id, tmp_secret_key,
// For generating temporary keys, see https://www.tencentcloud.com/document/product/436/14048?from_cn_redirect=1#cos-sts-sdk
uint64_t appid = 12500000000;
std::string region = "ap-guangzhou";
std::string tmp_secret_id = "************************************";
std::string tmp_secret_key = "************************************";
std::string tmp_token = "token";
qcloud_cos::CosConfig config(appid, tmp_secret_id, tmp_secret_key, region);
config.SetTmpToken(tmp_token);
qcloud_cos::CosAPI cos_tmp(config);
return cos_tmp;
}

Use Cases

Obtain the Object Access URL

Method Prototype

std::string CosAPI::GetObjectUrl(const std::string& bucket,
const std::string& object, bool https,
const std::string& region)

Request Example

void GetObjectUrlDemo(qcloud_cos::CosAPI& cos) {
std::string object_name = "test.txt";
bool is_https = true; // Whether it is https
std::string object_url = cos.GetObjectUrl(bucket_name, object_name, is_https);

std::cout << "=======================GetObjectUrl=========================" << std::endl;
std::cout << "object url=[" << object_url << "]" << std::endl;
std::cout << "============================================================" << std::endl;
}

Parameter Description

Parameter Name
Description
Type
bucket_name
The naming format of a Bucket is BucketName-APPID. For details, see Naming Conventions
string
object_name
An object key is a unique identifier for an object in a bucket. For example, in the object access domain name examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/picture.jpg The object key is doc/picture.jpg. For details, see Object Key
string
is_https
Whether it is https, defaults to false.
bool
region
The bucket region can be omitted and defaults to the region in the CosAPI instance.
string

Return Result Description

Returns the object access URL.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback