Blob 端点
Blob 对象列表
本文档全面概述了 SquareCloud Blob API 的 GET /v1/objects endpoint。
GET
/
v1
/
objects
Blob 对象列表
curl --request GET \
--url https://blob.squarecloud.app/v1/objects \
--header 'Authorization: <authorization>'import requests
url = "https://blob.squarecloud.app/v1/objects"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://blob.squarecloud.app/v1/objects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://blob.squarecloud.app/v1/objects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://blob.squarecloud.app/v1/objects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://blob.squarecloud.app/v1/objects")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://blob.squarecloud.app/v1/objects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"response": {
"objects": [
{
"id": "ID/name1_ltq7b2sw-de6241.jpeg",
"size": 78266,
"created_at": "2024-03-13T19:31:28.776Z"
},
{
"id": "ID/name_ltq7b2sw-de6243-ex1.jpeg",
"size": 90466,
"created_at": "2024-03-13T19:35:28.776Z",
"expires_at": "2024-03-14T19:35:28.776Z"
}
],
"continuationToken": null
}
}
表示文件前缀的字符串。
必须遵循 a to z、A to Z、0 to 9 和 _ 的模式。(3 到 32 个字符)
必须遵循 a to z、A to Z、0 to 9 和 _ 的模式。(3 到 32 个字符)
表示文件列表延续令牌的字符串。(每页 1000 个对象)
响应
指示调用是否成功。成功为 “success”,否则为 “error”。
{
"status": "success",
"response": {
"objects": [
{
"id": "ID/name1_ltq7b2sw-de6241.jpeg",
"size": 78266,
"created_at": "2024-03-13T19:31:28.776Z"
},
{
"id": "ID/name_ltq7b2sw-de6243-ex1.jpeg",
"size": 90466,
"created_at": "2024-03-13T19:35:28.776Z",
"expires_at": "2024-03-14T19:35:28.776Z"
}
],
"continuationToken": null
}
}
故障排查
- 400 状态码
- 401 状态码
- 429 状态码
对象相关
// The provided object prefix is invalid.
// Must adhere to the a to z, A to Z, 0 to 9, and _ pattern.
{
"status": "error",
"code": "INVALID_OBJECT_PREFIX"
}
// The provided continuation token is invalid (must be a string up to 2048 characters).
{
"status": "error",
"code": "INVALID_CONTINUATION_TOKEN"
}
// The request to list the objects failed. Please try again.
{
"status": "error",
"code": "FAILED_LIST"
}
未授权
// The API key is missing or invalid. Set a valid key in the Authorization header.
{
"status": "error",
"code": "ACCESS_DENIED"
}
速率受限
// List rate limit reached (10 requests per 30s window).
{
"status": "error",
"code": "RATELIMIT"
}
⌘I
Blob 对象列表
curl --request GET \
--url https://blob.squarecloud.app/v1/objects \
--header 'Authorization: <authorization>'import requests
url = "https://blob.squarecloud.app/v1/objects"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://blob.squarecloud.app/v1/objects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://blob.squarecloud.app/v1/objects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://blob.squarecloud.app/v1/objects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://blob.squarecloud.app/v1/objects")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://blob.squarecloud.app/v1/objects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"response": {
"objects": [
{
"id": "ID/name1_ltq7b2sw-de6241.jpeg",
"size": 78266,
"created_at": "2024-03-13T19:31:28.776Z"
},
{
"id": "ID/name_ltq7b2sw-de6243-ex1.jpeg",
"size": 90466,
"created_at": "2024-03-13T19:35:28.776Z",
"expires_at": "2024-03-14T19:35:28.776Z"
}
],
"continuationToken": null
}
}

