【发布时间】:2020-05-29 14:00:36
【问题描述】:
我正在使用this Ghost 插件将图像数据存储在 Google Drive 上。最近,图像已停止加载,并下载此错误页面代替图像:
该站点在 Google Cloud Run 上的容器化 Ghost 实例中运行,来源 here
我是否需要在某处开具支持票才能解决此问题?有问题的网站是here
编辑:这是用于访问已保存内容的代码。
jwtClient.authorize(function(err, tokens) {
if (err) {
return next(err);
}
const drive = google.drive({
version: API_VERSION,
auth: jwtClient
});
drive.files.get(
{
fileId: id
},
function(err, response) {
if (!err) {
const file = response.data;
const newReq = https
.request(
file.downloadUrl + "&access_token=" + tokens.access_token,
function(newRes) {
// Modify google headers here to cache!
const headers = newRes.headers;
headers["content-disposition"] =
"attachment; filename=" + file.originalFilename;
headers["cache-control"] = "public, max-age=1209600";
delete headers["expires"];
res.writeHead(newRes.statusCode, headers);
// pipe the file
newRes.pipe(res);
}
)
.on("error", function(err) {
console.log(err);
res.statusCode = 500;
res.end();
});
req.pipe(newReq);
} else {
next(err);
}
}
);
});
【问题讨论】:
-
您的代码使用哪种凭据访问 Google 云端硬盘?
-
这是一个服务帐户令牌
-
我投票决定将此问题作为离题结束,因为它与编程无关,因此无法告诉您何时或是否应该向 Google 发送支持票,您应该自己查看 Google 支持页面。跨度>
-
使用服务帐户是您的问题。但是,您的问题中没有足够的详细信息来说明您是如何创建令牌、如何模拟等的。
-
更新问题。它是根据服务帐户访问密钥创建的临时 JWT 令牌。
标签: docker google-drive-api ghost-blog google-cloud-run