gpt4 book ai didi

javascript - GCP 存储问题

转载 作者:行者123 更新时间:2023-11-30 20:41:31 25 4
gpt4 key购买 nike

试图让我明白这个错误的真正含义,但它说 Anonymous caller does not have storage.objects.get access to... 当我尝试从存储桶文件中获取 fileData 时.

app.get('/api/videos', (req, res) => {
const storageBucket = storageClient.bucket(config.video_bucket);
storageBucket.getFiles(function(err, files) {
if (!err) {
let fileArray = [];

files.forEach(function(file) {
const videoAnnotationBucket = storageClient.bucket(config.video_json_bucket);
const videoAnnotationFilename = (file.metadata.name).replace('/', '').replace('.', '') + '.json';
const annotationFile = videoAnnotationBucket.file(videoAnnotationFilename);

// GET ANNONATIONS FOR EACH FILE
annotationFile.get(function(error, fileData) {
if (error) {
console.log('error getting file', error);
}
else {
const remoteJsonUrl = fileData.metadata.mediaLink;
// console.log(fileData.metadata);

request({
url: remoteJsonUrl,
json: true
},
function(jsonReadErr, jsonResp, body) {
console.log('logging body:');
console.log(body);

错误发生在回调上,我正在通过 console.log(body) 读取错误,这给了我上面提到的错误消息。

奇怪的是,当我执行 gcloud auth login 时,它说我是匿名的,而当我这样声明 storageBucket 时,我正在提供信用:

const storageClient = storage({
credentials: {
"client_email": "clientEmail",
"private_key": "privateKey",
},
projectId: "projectId"
});

为了避免任何“您是否设置了这个”问题,不,我实际上并没有提供这些值,我省略了实际值,我们在其他地方使用它们,所以我知道它们是正确的。

我的问题是,Anonymous caller 是什么意思?我该如何解决?当我做了所有(看似)必要的事情来使用 API 时,怎么会认为我是匿名的?

最佳答案

您可能需要在请求中明确进行身份验证。 This SO thread看起来相关。

让我们知道显式身份验证是如何进行的!

关于javascript - GCP 存储问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49201452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com