【发布时间】:2017-07-22 09:19:16
【问题描述】:
我已经实现了一个按钮,可以让我从 Firebase 存储下载一个 zip 文件。
这是我的代码
FirebaseStorage storage = FirebaseStorage.getInstance();
final StorageReference storageRef = storage.getReference();
.buttonCtaClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//download stuff
try {
File imageFile = File.createTempFile("Chords_Images", "zip");
storageRef.getFile(imageFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(SplashActivity.this, "file created", Toast.LENGTH_SHORT).show();
//TODO: download audio
startApp();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(SplashActivity.this, "An error accoured", Toast.LENGTH_SHORT).show();
}
});
} catch (IOException e) {e.printStackTrace();}
}
})
问题是它总是失败并调用FailureListener 怎么会发生这种情况?
这是异常的堆栈跟踪:
获取令牌时出错 java.util.concurrent.ExecutionException: com.google.firebase.FirebaseApiNotAvailableException: firebase-auth is not linked, 请退回到未验证模式。 07-22 11:33:57.991 4272-4417/com.dancam.chords E/StorageException:发生了 StorageException。 用户无权访问此对象
这是我的 Firebase 存储规则
service firebase.storage {
match /b/chords-d1534.appspot.com/o {
match /{allPaths=**} {
allow read: if true; //if request.auth != null;
}
}
}
【问题讨论】:
-
尝试打印
Exception e的文字,并向我们展示您的storageRef。 -
你能发布你的firebase存储规则吗?
-
@sudo 完成,检查一下