provo a caricare un'immagine tramite Twitter api, come descritto lì ho creato un modulo con e name="media[]"
-Twitter API - caricare un'immagine
<form id="image-form">
<input type="text" name="status">
<input name="media[]" type="file" />
<input type="submit" value="POST IMAGE">
</form>
inoltre ho un gestore submit
-
$('#image-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this); // <-- 'this' is your form element
$.ajax({
url:'https://api.twitter.com/1.1/statuses/update_with_media.json',
type: 'POST',
contentType: false,
pagerocessData: false,
processData: false,
data: formData,
success: function(data) {
alert('Image upload succeeded');
},
error: function (responseData, textStatus, errorThrown) {
alert('GET failed.');
}
});
});
Sotto reti a Chrome, vedo questa richiesta con Content-Type:multipart/form-data
finalmente ottengo "res ponse 200 "ma non carica un'immagine sull'account Twitter,
Cosa ho fatto di sbagliato qui?
Da [POST media/upload] (https://dev.twitter.com/rest/reference/post/media/upload): 'Verifica che il tuo POST sia una richiesta multipart/form-data'. Sei stato tu? (Non ho usato l'API di twitter, ma sembra che sia così) –
Controllato e trovato - 'Content-Type: multipart/form-data' – URL87
Perché non usi l'hook dell'API corrente invece di quello deprecato ? Questo endpoint è stato DEPRECATED. Si prega di utilizzare gli stati POST/aggiornamento per il caricamento di una o più entità media. – ChrJantz