Как получить 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. Как это исправить?

Ответы на вопрос(4)

Ваш ответ на вопрос