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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage