Хранилище Google - у анонимного абонента нет доступа к storage.objects.get - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь загрузить файлы из хранилища 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

...