Firebase ストレージ バケット内のファイルへの「長期永続ダウンロード リンク」を取得しようとしています。これの権限を次のように変更しました
service firebase.storage {
match /b/project-xxx.appspot.com/o {
match /{allPaths=**} {
allow read, write;
}
}
}
そして、私のJavaコードは次のようになります:
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;
}
これを実行すると、 com.google.android.gms.tasks.zzh@xxxのような uri リンクを取得します
質問 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.これを修正するにはどうすればよいですか?