【发布时间】:2022-06-12 19:39:31
【问题描述】:
我想使用 REST 和 axios 获取存储桶中的图像列表。
参考:https://cloud.google.com/storage/docs/listing-objects#list-objects-json
文档给出了这个 curl 请求
curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \
"https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
reqConfig:这是我在 REST firestore 查询中用来验证用户身份的令牌。我在这里使用相同的令牌。我猜这是问题所在,但不知道如何解决。
使用他们文档中的 URL,对于我知道存在的存储桶路径,我的结果始终为 404。我应该得到存储桶中文件的 json 列表。
错误:请求失败,状态码为 404
我哪里错了?
export async function getCompanyStorage(context, apikey, companyId) {
const url = `https://storage.googleapis.com/storage/v1/b/uploads/${companyId}/o?key=${apikey}`;
const cookies = nookies.get(context);
const reqConfig = {
headers: new Headers({
Authorization: "Bearer " + cookies.token,
"Content-Type": "application/json",
}),
};
const result = axios
.get(url, { headers: { Authorization: `Bearer ${reqConfig}` } })
.then((res) => {
return res.data;
})
.catch((error) => {
console.error("error using axios", error);
});
}
编辑:firebase 控制台中存储桶的路径如下所示
gs://projectname.appspot.com/uploads/WhmDZyQdLVk7n0qR7aTg
【问题讨论】:
-
404 表示未找到。检查您的网址。我们看不到变量中的内容或存储桶的内容。您的问题应该说明您希望这段代码做什么,以及您正在使用的源数据。
-
@DougStevenson 我不太相信 404 的有效性,因为我使用的 URL 与他们的文档相同。
标签: rest oauth-2.0 axios google-cloud-storage