Как получить URL из Firebase Storage getDownloadURL
Я пытаюсь получить «постоянную ссылку на скачивание» для файлов в нашем хранилище 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, которая выглядит примерно такcom.google.android.gms.tasks.zzh@xxx
Вопрос 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. Как это исправить?