目的:認証されたユーザーがプロフィール写真をアップロードして、そのユーザーに関連付けることを許可します。注Firebase(ストレージ例外) - ユーザーに許可がありません。
:は、私は、ユーザーのドキュメントに従っ:https://firebase.google.com/docs/storage/security/user-security
問題:
StorageException: StorageException has occurred.
User does not have permission to access this object.
Code: -13021 HttpResult: 403
StorageException: The server has terminated the upload session
java.io.IOException: The server has terminated the upload session
テストが行わ:私はエラーを取得しています 私が最初のように私のルールを持っていました次のようになりました。は、認証されたユーザーに写真をアップロードすることを許可しましたユーザーは): Associate Image to UserID
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read: if request.auth != null;
}
match /images {
// Only an individual user can write to "their" images
match /{userId}/{imageId} {
allow write: if request.auth.uid == userId;
}
}
}
}
新しいルールを持つユーザーIDに関連付けられた写真になっていた:Authenticated Users
は、私はユーザーIDで、画像を関連付けるために、以下に私のルールを変更しました私は、アクセス許可を持っていないというStorage Exceptionエラーを受け取ります。
それが重要ならばこれは私のストレージの参照です:
storage = FirebaseStorage.getInstance();
storageReference = storage.getReferenceFromUrl("gs://app-name.appspot.com").child("20170702_174811.jpeg"); //was PNG
そして:
public void handleChooseImage(View v) {
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, SELECTED_PICTURE); //then goes to onActivityResult
}
を文書化することに加えて、私が被写体にできるだけ多くのYouTubeの動画を見てみましたが、ように見えてきました何かが欠けている。誰かが親切に私を正しい方向に向けることができますか?