수색…


소개

읽기 또는 쓰기 작업이 실패하는 데에는 여러 가지 이유가 있습니다. 보안 규칙이 인증을 거치지 않았거나 (기본적으로 인증 된 사용자 만 데이터베이스에 액세스 할 수 있기 때문에) 또는 사용자가 사용하지 않는 위치에서 글쓰기 / 듣기 등 보안 규칙이 조작을 거부하기 때문에 자주 발생합니다 허락을 받아야 해.

Android에 값을 쓸 때 오류를 감지합니다.

쓰기 작업이 실패하는 데에는 여러 가지 이유가 있습니다. 보안 규칙은 인증되지 않았기 때문에 (예를 들어 데이터베이스는 인증 된 사용자 만 액세스 할 수 있기 때문에) 작업을 거부하기 때문에 자주 발생합니다.

이러한 보안 규칙 위반은 logcat 출력에서 ​​볼 수 있습니다. 그러나 이것을 간과하는 것은 쉽습니다. 또한 자신의 코드에서 처리하고 더 눈에 잘 띄게 표시 할 수 있습니다. 이는 개발 중에 특히 유용합니다 (JSON, 규칙 및 코드가 자주 변경된 이후).

Android에서 실패한 쓰기를 감지하려면 완료 콜백을 setValue 첨부하십시오 .

ref.setValue("My new value", new DatabaseReference.CompletionListener() {
    public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
        throw databaseError.toException();
    }
});

이와 같은 예외를 throw하면 다음에 이러한 오류를 간과하는 것이 매우 어려워집니다.

Android에서 데이터를 읽을 때 오류를 감지합니다.

읽기 작업이 작동하지 않는 이유는 보안 규칙이 인증되지 않았기 때문입니다 (기본적으로 데이터베이스는 인증 된 사용자 만 액세스 할 수 있기 때문에).

이러한 보안 규칙 위반은 logcat 출력에서 ​​볼 수 있습니다. 그러나 이것을 간과하는 것은 쉽습니다. 또한 자신의 코드에서 처리하고 더 눈에 잘 띄게 표시 할 수 있습니다. 이는 개발 중에 특히 유용합니다 (JSON, 규칙 및 코드가 자주 변경된 이후).

Android에서 읽지 못한 것을 감지하려면 ChildEventListeneronCancelled 메소드를 구현해야합니다.

databaseRef.addChildEventListener(new ChildEventListener() {
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { ... }
    public void onChildChanged(DataSnapshot dataSnapshot, String s) { ... }
    public void onChildRemoved(DataSnapshot dataSnapshot) { ... }
    public void onChildMoved(DataSnapshot dataSnapshot, String s) { ... }
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});

또는 ValueEventListener 가있는 경우 :

databaseRef.addValueEventListener(new ValueEventListener() {
    public void onDataChange(DataSnapshot dataSnapshot, String s) { ... }
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});

이 코드를 사용하면 Android에서 데이터를 읽을 때 보안 오류를 간과하는 것이 꽤 어려울 것입니다.

iOS에 값을 쓸 때 오류를 감지합니다.

쓰기 작업이 실패하는 데에는 여러 가지 이유가 있습니다. 보안 규칙은 인증되지 않았기 때문에 (예를 들어 데이터베이스는 인증 된 사용자 만 액세스 할 수 있기 때문에) 작업을 거부하기 때문에 자주 발생합니다.

이러한 보안 규칙 위반은 프로그램 출력에서 ​​볼 수 있습니다. 그러나 이것을 간과하는 것은 쉽습니다. 또한 자신의 코드에서 처리하고 더 눈에 잘 띄게 표시 할 수 있습니다. 이는 개발 중에 특히 유용합니다 (JSON, 규칙 및 코드가 자주 변경된 이후).

iOS에서 실패한 쓰기를 감지하려면 완료 블록을 setValue에 첨부하십시오 .

let message = ["name": "puf", "text": "Hello from iOS"]
ref!.childByAutoId().setValue(message) { (error) in
    print("Error while writing message \(error)")
}

이와 같은 예외를 throw하면 다음에 이러한 오류를 간과하는 것이 매우 어려워집니다.

JavaScript에서 데이터를 읽을 때 오류 감지

읽기 작업이 작동하지 않는 이유는 보안 규칙이 인증되지 않았기 때문입니다 (기본적으로 데이터베이스는 인증 된 사용자 만 액세스 할 수 있기 때문에).

이러한 보안 규칙 위반은 브라우저의 JavaScript 콘솔에서 확인할 수 있습니다. 그러나 이것을 간과하는 것은 쉽습니다. 또한 자신의 코드에서 처리하고 더 눈에 잘 띄게 표시 할 수 있습니다. 이는 개발 중에 특히 유용합니다 (JSON, 규칙 및 코드가 자주 변경된 이후).

JavaScript에서 읽지 못한 것을 감지하려면 on()on() 두 번째 콜백을 추가해야합니다.

ref.on('value', function(snapshot) {
    console.log(snapshot.key, snapshot.val());
}, function(error) {
    alert(error);
})

이 코드를 사용하면 JavaScript에서 데이터를 읽을 때 보안 오류를 간과하는 것이 매우 어려울 것입니다.

JavaScript에서 값을 쓸 때 오류를 감지합니다.

쓰기 작업이 실패하는 데에는 여러 가지 이유가 있습니다. 보안 규칙은 인증되지 않았기 때문에 (예를 들어 데이터베이스는 인증 된 사용자 만 액세스 할 수 있기 때문에) 작업을 거부하기 때문에 자주 발생합니다.

이러한 보안 규칙 위반은 콘솔 출력에서 ​​볼 수 있습니다. 그러나 이것을 간과하는 것은 쉽습니다. 또한 자신의 코드에서 처리하고 더 눈에 잘 띄게 표시 할 수 있습니다. 이는 개발 중에 특히 유용합니다 (JSON, 규칙 및 코드가 자주 변경된 이후).

자바 스크립트에서 실패한 쓰기를 감지하기 위해 완료 콜백을 첨부하여 다음을 set .

ref.set("My new value").catch(function(error)
    console.error(error);
    alert(error);
});

이와 같은 경고를 표시하면 다음에 그러한 오류를 간과하는 것이 매우 어려워집니다.

iOS에서 데이터를 읽을 때 오류를 감지합니다.

읽기 작업이 작동하지 않는 이유는 보안 규칙이 인증되지 않았기 때문입니다 (기본적으로 데이터베이스는 인증 된 사용자 만 액세스 할 수 있기 때문에).

이러한 보안 규칙 위반은 콘솔 출력에서 ​​볼 수 있습니다. 그러나 이것을 간과하는 것은 쉽습니다. 또한 자신의 코드에서 처리하고 더 눈에 잘 띄게 표시 할 수 있습니다. 이는 개발 중에 특히 유용합니다 (JSON, 규칙 및 코드가 자주 변경된 이후).

iOS에서 읽지 못한 것을 감지하려면 옵저버의 withCancel 블록을 구현해야합니다.

    ref!.child("notAllowed").observe(.value, with: { (snapshot) in
        print("Got non-existing value: \(snapshot.key)")
    }, withCancel: { (error) in
        print(error)
    })


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow