Я пытаюсь получить "постоянную ссылку на скачивание" для файлов в нашем хранилище Firebase. Я изменил разрешения этого на
service firebase.storage {
match /b/project-xxx.appspot.com/o {
match /{allPaths=**} {
allow read, write;
}
}
}
И мой javacode выглядит так:
private String niceLink (String date){
String link;
// Points to the root reference
StorageReference storageRef = FirebaseStorage.getInstance().getReference();
StorageReference dateRef = storageRef.child("/" + date+ ".csv");
link = dateRef.getDownloadUrl().toString();
return link;
}
Когда я запускаю это, я получаю ссылку на URI, которая выглядит примерно как [email protected]
Вопрос 1. Можно ли из этого получить ссылку для скачивания, аналогичную следующей: https://firebasestorage.googleapis.com/v0/b/project-xxxx.appspot.com/o/20-5-2016.csv?alt=media&token= b5d45a7f-3ab7-4f9b-b661-3a2187adxxxx
При попытке получить ссылку выше, я изменил последнюю строку перед возвращением, например так:
private String niceLink (String date){
String link;
// Points to the root reference
StorageReference storageRef = FirebaseStorage.getInstance().getReference();
StorageReference dateRef = storageRef.child("/" + date+ ".csv");
link = dateRef.getDownloadUrl().getResult().toString();
return link;
}
Но при этом я получаю ошибку 403, и приложение вылетает. Консол говорит мне, что это пользователь bc не вошел в систему /auth. "Пожалуйста, войдите в систему, прежде чем запрашивать токен"
Вопрос 2. Как мне это исправить?