Ich versuche, Fotos auf Twitter hochzuladen. Ich habe einen mehrteiligen Schreiber erstellt und ein Dateifeld mit diesen benannten Medien erstellt, aber wenn ich meine Anfrage an Twitter sende, reagiert es weiterhin auf fehlende Medienfelder. Fehle ich etwas? Hier ist mein CodeMultipart Dateifeld ist nicht lesbar
f, err := os.Open("/Users/nikos/Desktop/test.png")
errored:
if nil != err {
fmt.Println(err)
return
}
var img = new(bytes.Buffer)
enc := base64.NewEncoder(base64.StdEncoding, img)
_, err = io.Copy(enc, f)
if nil != err {
goto errored
}
body := new(bytes.Buffer)//Multipart body
writer := multipart.NewWriter(body)
cl, err := twitter.OauthClient.MakeHttpClient(&oauth.AccessToken{
Token: "xxx",
Secret: "yyy",
})
err = writer.WriteField("media_data", img.String())//base64 version of the image (i tried both binary and base64 versions neither will work)
if nil != err {
goto errored
}
part, err := writer.CreateFormFile("media", "test.png")//actual binary file multiparted and it is named media.
if nil != err {
goto errored
}
_, err = io.Copy(part, f)
if nil != err {
goto errored
}
req, err := http.NewRequest("POST",
"https://upload.twitter.com/1.1/media/upload.json",
body)
if nil != err {
goto errored
}
res, err := cl.Do(req)
if nil != err {
goto errored
}
//and twitter responds that there is no field attached named media
_, err = io.Copy(os.Stdout, res.Body)
fmt.Println(res)
if nil != err {
goto errored
}
Was ist der Fehler, den Sie sehen? –
@ CeriseLimón Ich habe eins nach dem anderen gesendet, aber ich habe sie zusammen geschrieben, aber ich versuche, den Schreiber zu schließen, und wenn ich den Inhaltstyp festlege, bekomme ich einen schlechten Anfragefehler, lass mich versuchen, den Schreiber zu schließen – nikoss
@YandryPozo '{" errors ": [{"code": 38, "message": "media parameter fehlt."}]} & {400 Bad Request 400' das ist der fehler, den ich bekomme – nikoss