Blob Storage のファイル一覧
GET /v1/objects で Blob Storage 内のファイルを一覧表示します: プレフィックスと公開範囲で絞り込み、フォルダーを閲覧し、カーソルでページ分割します。
GET
/
v1
/
objects
curl --request GET \
--url 'https://blob.squarecloud.app/v1/objects?prefix=images/&delimiter=/&limit=100' \
--header 'Authorization: YOUR_API_KEY'
let cursor;
do {
const params = new URLSearchParams({ prefix: 'images/', limit: '1000' });
if (cursor) params.set('cursor', cursor);
const res = await fetch(`https://blob.squarecloud.app/v1/objects?${params}`, {
headers: { Authorization: 'YOUR_API_KEY' },
});
const { response } = await res.json();
for (const object of response.objects) console.log(object.id, object.size);
cursor = response.continuationToken;
} while (cursor);
import requests
cursor = None
while True:
params = {'prefix': 'images/', 'limit': 1000}
if cursor:
params['cursor'] = cursor
response = requests.get(
'https://blob.squarecloud.app/v1/objects',
headers={'Authorization': 'YOUR_API_KEY'},
params=params,
).json()['response']
for obj in response['objects']:
print(obj['id'], obj['size'])
cursor = response.get('continuationToken')
if not cursor:
break
{
"status": "success",
"response": {
"objects": [
{
"id": "pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
"size": 416230,
"created_at": "2026-09-25T12:00:00.000Z",
"private": false,
"url": "https://blob.squarecloud.dev/pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
"etag": "\"9bb58f26192e4ba00f01e2e7b136bbd8\""
},
{
"id": "prv/3155597145698959364/images/draft_mugws5c0-1b4f0e9851971998e732078544c96b36.png",
"size": 90466,
"created_at": "2026-09-25T12:00:00.000Z",
"private": true,
"url": null,
"etag": "\"4a2f0b1c9d8e7f6a5b4c3d2e1f0a9b8c\""
}
],
"folders": ["images/icons/"],
"continuationToken": "Q7mZp2Xk9LwR4vTn8sHd1c"
}
}
オブジェクトの一覧は、アカウントに保存されているファイルを列挙します。必要に応じてプレフィックスと公開範囲で絞り込み、すべてを一度に返すのではなくカーソルでページ分割します。ファイルブラウザの構築、アップロードが反映されたかの確認、独自の記録と Blob Storage の保存内容との照合に使用します。
blob:read スコープが必要です。
ページはパラメーターの組み合わせごとに 30 分間キャッシュされますが、自分自身のアップロードや削除によってそのキャッシュはクリアされるため、変更はすぐに反映されます。結果の順序は保証されません。まだ残りがある場合でも、1 ページに含まれるオブジェクトが limit より少ないことがあります: continuationToken がなくなるまでリクエストを続けてください。
パラメーター
string
パスがこの文字列で始まるファイルのみ (たとえば
images/ や images/2026-)。英字、数字、_、.、-、/ を使用でき、最大 256 文字です。string
/ のみ。ディレクトリ一覧のように、次の / より下にあるファイルを一覧表示する代わりに folders にまとめます。boolean
true はプライベートファイルのみ、false は公開ファイルのみを一覧表示します。両方を一覧表示するには省略します。number
デフォルト:"1000"
1 ページあたりの最大エントリ数。1〜1000 です。
string
前のページの
continuationToken。パラメーター名として continuationToken も受け付けます。レート制限
30 秒間に 30 リクエスト。超えると短時間ブロックされます (
RATE_LIMITED、429)。レスポンス
string
成功した場合は “success”、失敗した場合は “error” です。
object
表示 オブジェクトを切り替え
表示 オブジェクトを切り替え
array
string[]
prefix の下にあるフォルダー。それぞれ / で終わります。delimiter=/ を指定した場合のみ含まれます。string
次のページを取得するには、これを
cursor として送り返します。最後のページには含まれません。curl --request GET \
--url 'https://blob.squarecloud.app/v1/objects?prefix=images/&delimiter=/&limit=100' \
--header 'Authorization: YOUR_API_KEY'
let cursor;
do {
const params = new URLSearchParams({ prefix: 'images/', limit: '1000' });
if (cursor) params.set('cursor', cursor);
const res = await fetch(`https://blob.squarecloud.app/v1/objects?${params}`, {
headers: { Authorization: 'YOUR_API_KEY' },
});
const { response } = await res.json();
for (const object of response.objects) console.log(object.id, object.size);
cursor = response.continuationToken;
} while (cursor);
import requests
cursor = None
while True:
params = {'prefix': 'images/', 'limit': 1000}
if cursor:
params['cursor'] = cursor
response = requests.get(
'https://blob.squarecloud.app/v1/objects',
headers={'Authorization': 'YOUR_API_KEY'},
params=params,
).json()['response']
for obj in response['objects']:
print(obj['id'], obj['size'])
cursor = response.get('continuationToken')
if not cursor:
break
{
"status": "success",
"response": {
"objects": [
{
"id": "pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
"size": 416230,
"created_at": "2026-09-25T12:00:00.000Z",
"private": false,
"url": "https://blob.squarecloud.dev/pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
"etag": "\"9bb58f26192e4ba00f01e2e7b136bbd8\""
},
{
"id": "prv/3155597145698959364/images/draft_mugws5c0-1b4f0e9851971998e732078544c96b36.png",
"size": 90466,
"created_at": "2026-09-25T12:00:00.000Z",
"private": true,
"url": null,
"etag": "\"4a2f0b1c9d8e7f6a5b4c3d2e1f0a9b8c\""
}
],
"folders": ["images/icons/"],
"continuationToken": "Q7mZp2Xk9LwR4vTn8sHd1c"
}
}
エラー
| コード | HTTP | 発生する状況 |
|---|---|---|
INVALID_OBJECT_PREFIX | 400 | prefix にパターン外の文字が含まれている、または .. を含んでいる。 |
INVALID_DELIMITER | 400 | delimiter が / ではない。 |
INVALID_OBJECT_PRIVATE | 400 | private が true または false ではない。 |
INVALID_LIMIT | 400 | limit が 1〜1000 の整数ではない。 |
INVALID_CONTINUATION_TOKEN | 400 | cursor (または continuationToken) の形式が正しくないか、有効期限が切れている。カーソルなしで最初からやり直してください。 |
RATE_LIMITED | 429 | 30 秒間に 30 リクエストを超えた。 |
関連項目
- Blob SDK:
blob.list(),blob.listPage()
⌘I
curl --request GET \
--url 'https://blob.squarecloud.app/v1/objects?prefix=images/&delimiter=/&limit=100' \
--header 'Authorization: YOUR_API_KEY'
let cursor;
do {
const params = new URLSearchParams({ prefix: 'images/', limit: '1000' });
if (cursor) params.set('cursor', cursor);
const res = await fetch(`https://blob.squarecloud.app/v1/objects?${params}`, {
headers: { Authorization: 'YOUR_API_KEY' },
});
const { response } = await res.json();
for (const object of response.objects) console.log(object.id, object.size);
cursor = response.continuationToken;
} while (cursor);
import requests
cursor = None
while True:
params = {'prefix': 'images/', 'limit': 1000}
if cursor:
params['cursor'] = cursor
response = requests.get(
'https://blob.squarecloud.app/v1/objects',
headers={'Authorization': 'YOUR_API_KEY'},
params=params,
).json()['response']
for obj in response['objects']:
print(obj['id'], obj['size'])
cursor = response.get('continuationToken')
if not cursor:
break
{
"status": "success",
"response": {
"objects": [
{
"id": "pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
"size": 416230,
"created_at": "2026-09-25T12:00:00.000Z",
"private": false,
"url": "https://blob.squarecloud.dev/pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
"etag": "\"9bb58f26192e4ba00f01e2e7b136bbd8\""
},
{
"id": "prv/3155597145698959364/images/draft_mugws5c0-1b4f0e9851971998e732078544c96b36.png",
"size": 90466,
"created_at": "2026-09-25T12:00:00.000Z",
"private": true,
"url": null,
"etag": "\"4a2f0b1c9d8e7f6a5b4c3d2e1f0a9b8c\""
}
],
"folders": ["images/icons/"],
"continuationToken": "Q7mZp2Xk9LwR4vTn8sHd1c"
}
}

