정확한 텍스트 : ". 액세스가 거부 발신자가 (URL)에 이의를 storage.objects.get에 액세스 할 수 없습니다"액세스
나는 현재 구글에이 개 프로젝트가 서비스. 하나는 안드로이드/iOS 응용 프로그램을위한 자원으로 google cloud 저장소 (더 많은 firebase 저장소)에 이미지를 업로드합니다. 다른 하나는 이미지 업로드 시점을 감지하고 signedUrl이 포함 된 전자 메일을 해당 이미지로 보내는 node.js 서버입니다. getSignedUrl에서 제공
var storage = require("@google-cloud/storage")({
keyFilename: "google_secret.json",
projectId: 'xxxxxxxxxxx'
});
function getImageFromGcloud(x, y, time, date_string) {
var bucket = storage.bucket('bucket-name');
var storage_ref = 'Incomplete_Scans/' + date_string + "/" x + "_" + y + "_" + time + ".jpeg";
bucket.file(storage_ref).getSignedUrl({
action: 'read',
expires: '03-17-2025'
}, function(err, url) {
if (err){
console.error(err);
return;
}
console.log("Sent email");
});
}
링크는이 이미지와 새 탭을 열 것입니다 클릭하면 작동하는 데 사용 :
Node.js를 서버라고 다음 Google 저장 용량 설정 및 기능을 가지고 있습니다. 그러나 최근에는 막 중단되었습니다. 아마도 권한과 관련이 있지만, 내가하는 일은 아무 것도하지 않는 것입니다. 어떤 아이디어?
고맙습니다.
서명 한 URL을 생성하는 데 사용하는 키의 서비스 계정에서 개체에 대한 읽기 권한을 잃을 수 있습니까? –
가능합니다. 전체 양동이 권한을 잘못 수행하고있는 것은 아닙니다. 프로젝트의 뷰어, 편집자 및 소유자가 소유자 권한을 가질 수 있도록 버킷 권한 및 개체 기본 권한을 추가했습니다. 내가 빠진 것이 있습니까? @BrandonYarbrough –
버킷 권한은 계층 적이 지 않습니다. 버킷 내부의 객체에 대한 읽기 권한을 부여하지 않습니다. "기본 개체 사용 권한"은 새 개체에만 적용되며 기본적으로 적용됩니다. 어떤 개체에 서비스 계정을 명시 적으로 추가하여 문제가 해결되는지 확인하십시오. –