httr POST-Anforderung an API gibt 400 Fehler zurück
Ich arbeite mit dem httr-Paket in R, um die postcode.io-API abzufragen http: //postcodes.io/doc).
Ich kann eine einzelne Postleitzahl gemäß den Anweisungen erfolgreich abfragen, indem ich Folgendes verwende:sample4 <- GET("api.postcodes.io/postcodes/EN14RF")
Wenn ich versuche, mehrere Postleitzahlen abzufragen, gerate ich etwas ins Stocken. Die postcode.io Anweisungen schlagen @ v
POST https://api.postcodes.io/postcodes?q=[postcode]
wobei ein JSON-Objekt angegeben wird, das ein Array von Postleitzahlen enthält. Ich habe einen R-Vektor mit Postleitzahlen, mit denen ich versucht habe, ein JSON-Objekt als solches zu konvertieren:
a <- toJSON(a)
wo mein R-Vektor 'a' ist:
structure(c(4L, 5L, 3L, 6L, 1L, 2L), .Label = c("Bn14 9aw", "CR0 4BE", "E5 8HB", "EN1 4RF", "G42 8QN", "SA1 3UL"), class = "factor")
Jetzt, wenn ich versuche, die API mit der folgenden Codezeile abzufragen:
sample4 <- POST("https://api.postcodes.io/postcodes?q=[postcode]", body = list(postcode = add1JSON))
Ich erhalte eine Fehlermeldung:"Invalid JSON submitted. You need to submit a JSON object with an array of postcodes or geolocation objects"
Ich habe das Gefühl, dass dies darauf zurückzuführen ist, dass ich kein Array, sondern eine unbenannte Liste, z. Mein JSON-Objekt sollte folgendermaßen aussehen:
{"postcodes":"[ \"EN14RF\", \"G428QN\", \"E58HB\", \"SA13UL\", \"Bn149aw\", \"CR04BE\" ]"}
Nicht das:"[ \"EN14RF\", \"G428QN\", \"E58HB\", \"SA13UL\", \"Bn149aw\", \"CR04BE\" ]"
Kann mir jemand dabei helfen? Ich habe das Gefühl, es hat etwas mit meinem @ zu ttoJSON
call, konnte jedoch kein ähnliches Beispiel im Forum oder auf der API-Entwicklerseite finden:
Danke vielmal
Marty