#flutter
#flutter
Вопрос:
API Firebase Firestore работает не только с Flutter. Я пробовал один и тот же URL-адрес в своем браузере и python, и они работают как шарм. Я не мог понять, почему не работает Flutter.
Код, который я написал в запросе HTTP get в Flutter
var response = await http.post(
'https://firestore.googleapis.com/v1beta1/projects/weathersense-daa83/databases/(default)/documents/weather_data/latest_data');
print(response);
print(response.body);
Результат, который я получил
I/flutter (15665): {
I/flutter (15665): "error": {
I/flutter (15665): "code": 400,
I/flutter (15665): "message": "Document parent name "projects/weathersense-daa83/databases/(default)/documents/weather_data" lacks "/" at index 70.",
I/flutter (15665): "status": "INVALID_ARGUMENT"
I/flutter (15665): }
I/flutter (15665): }
Тот же URL-адрес в браузере извлекает данные.
{
"name": "projects/weathersense-daa83/databases/(default)/documents/weather_data/latest_data",
"fields": {
"timestamp": {
"integerValue": "20201106131503"
},
"rain_intensity": {
"doubleValue": 0
},
"wind_speed": {
"doubleValue": 0
},
"hail_duration": {
"doubleValue": 0
},
"humidity": {
"doubleValue": 57.2
},
"supply_voltage": {
"doubleValue": 13.9
},
"rain_accumulation": {
"doubleValue": 0
},
"ref_voltage": {
"doubleValue": 3.615
},
"rain_duration": {
"doubleValue": 0
},
"internal_temp": {
"doubleValue": 23.6
},
"temp": {
"doubleValue": 23.4
},
"pressure": {
"doubleValue": 1002.6
}
},
"createTime": "2020-10-31T20:15:04.479800Z",
"updateTime": "2020-11-06T05:15:03.935166Z"
}
Комментарии:
1. Используйте GET-запрос, он будет работать.
Ответ №1:
Я думаю, вам следует использовать 'GET'
request вместо 'POST'
, потому что это то, что делают браузеры.
var response = await http.get(
'https://firestore.googleapis.com/v1beta1/projects/weathersense-daa83/databases/(default)/documents/weather_data/latest_data');
print(response);
print(response.body);