Я пытаюсь загрузить файлы из хранилища Google в моем интерфейсе (Vue. js). Я сделал и API в моем бэкэнде (node.js) для Список файлов , поэтому я возвращаю массив объектов. Запрос API выполняется с помощью Ax ios:
axios.get(url)
.then(response => {
this.files = response.data
})
, поэтому я сохраняю файлы корзины в массиве «files» и через него l oop. Ссылка для скачивания - mediaLink , которая является частью объекта, который я получаю от API.
<div class="files center" v-for="file in files" :key="file.id">
<a v-bind:href="file.metadata.mediaLink">{{ file.name }}</a>
</div>
Дело в том, что когда я нажимаю на mediaLink, я получаю это сообщение:
Anonymous caller does not have storage.objects.get access to BUCKET_NAME/BUCKET_FILE.pdf.
Мой клиент имеет Firebase Auth с учетной записью Google, и я вошел в систему с учетной записью администратора проекта Google Cloud, где находятся файлы. Почему он говорит, что я анонимный абонент, когда я уже вошел в систему?
Вот как я вхожу в систему в соответствии с запросом:
login(){
const provider = new firebase.auth.GoogleAuthProvider()
firebase.auth().signInWithPopup(provider)
.then((result) => {
this.token = result.credential.accessToken;
this.user = result.user;
this.$router.push({ name: 'Files' });
})
.catch((err) => {
console.log('SignInWithPopup Error: ' + err.message)
})
}
В консоли Firebase появляется учетные данные для входа: Захват консоли Firebase