Ben şu mimariniz:Firebase Veritabanı DİNLENME orderBy değerle almak ve equalTo
-
Google App Engine uygulamasında (Java) GAE'nin yapar
- REST çağrısı ile Firebase veritabanından bazı bilgi alır bağlanırken
- mobil istemci
Firebase Admin SDK arka plan iş parçacıkları nedeniyle GAE ile iyi çalışmadığı için Firebase REST API'sini kullanmaya karar verdim. Firebase Veritabanını güncellediğimde veya belirli bir yoldan bir şey aldığımda her şey iyi gider, ancak verileri filtrelemek istediğimde bir sorunla karşılaşırım.
curl -X GET \
-H 'Authorization: Bearer auth_token' \
'https://my_project.firebaseio.com/items.json?orderBy="$value"&equalTo="some_string"'
Ama GAE'nin app java kodundan HttpURLConnection veya URLFetchService kullanarak tamamen aynı isteği yaparken garip hatalar alırsınız:
bukle istek herşeyi yapma iyi çalışıyor. İlk başta bu hataların URL kodlamasından, bu yüzden böyle bir şey benim url değiştirmek zorunda:
https://my_project.firebaseio.com/items.json?orderBy=%22%24value%22&equalTo=%22some_string%22
Ama aşağıdaki iletiyle 400 hata kodları almak bile bundan sonra:
01 Hiçbir vail için urlString (sadece bir değişkene dize atama) gibi farklı değerler kullanmaya çalıştı{ "hata": "diğer sorgu parametreleri tanımlanır zaman orderBy tanımlanmalıdır"}
URL url = URL(urlString);
HTTPRequest request = HTTPRequest(url, HTTPMethod.GET, opts)
request.addHeader(HTTPHeader(AUTH_HEADER, "Bearer " + accessToken));
HTTPResponse responseRaw = service.fetch(request);
:
String urlString = "https://my_project.firebaseio.com/items.json?orderBy=%22%24value%22&equalTo=%22some_string%22";
String urlString = "https://my_project.firebaseio.com/items.json?orderBy=%22$value%22&equalTo=%22some_string%22";
String urlString = "https://my_project.firebaseio.com/items.json?orderBy=\"$value\"&equalTo=\"some_string\"";
üçüncü değer bir duruma neden ve
Benim istek kodu şöyle istek gönderilmedi. Yanlış ne yapıyorum
String urlString = "https://my_project.firebaseio.com/items.json?orderBy=%22$value%22";
konusunda fikrin: Ne cevap olarak 200 ve json olsun, daha çıkarmadan equalTo parametre isteği iş yapar mı?
Lütfen "urlString" i bildiren ve başlatan Java kodunu ekleyin. –
@FrankvanPuffelen, açıklamaya ekledi. Dizede hiç hata olmadığından emin olmak için ona bir dize atadım. –