Ho giocato con perl con l'API tumblr con perl e ho ottenuto diverse funzioni per funzionare.Invia file immagine locale su tumblr tramite API con perl
Tuttavia, non riesco a caricare file immagine locali tramite perl.
Ecco il mio codice che funziona per gli URL
use LWP::Authen::OAuth;
use JSON;
use Data::Dumper;
use strict;
my $ua = LWP::Authen::OAuth->new(
oauth_consumer_key => 'xxx',
oauth_consumer_secret => 'xxx',
oauth_token => 'xxx',
oauth_token_secret => 'xxx',
);
my $response;
$response = $ua->post('http://api.tumblr.com/v2/blog/mytumblr.tumblr.com/post', [
type => 'photo',
url => 'http://www.example.com/mypic.jpg' ,
caption => 'Test image 1',
]);
if ($response->is_success) {
print "it worked";
}
else {
print "it did not work \n \n \n \n";
print $response->as_string;
}
Tuttavia, quando ho sostituire "url" per "dati" nei parametri post (come indicato nella loro descrizione API qui - http://www.tumblr.com/docs/en/api/v2#posting), continuo a ricevere una risposta di errore da tumblr. Ho provato diversi modi di inserire il parametro "data" - come un percorso per il file, come rappresentazione binaria, come una rappresentazione binaria con codifica URL, come una rappresentazione binaria base64 con codifica url, bloccato uno di quei valori come un unico elemento in un array - ho provato tutti, e con ognuno di essi ho ricevuto un messaggio di errore da tumblr.
Quindi qualcuno può indicarmi come caricare un file di immagine locale su tumblr?
Che errore ottieni? – friedo
'Connessione richiesta HTTP/1.1 400 errata: chiudi Data: Mer 15 maggio 2013 21:48:31 GMT Server: nginx Content-Type: application/json; charset = utf-8 Client-Date: Wed, 15 maggio 2013 21:48:31 GMT Client-Peer: 66.6.40.14:80 Client-Response-Num: 1 Client-Transfer-Encoding: Chunked P3P: CP = "ALL ADM DEV PSAi COM OURO STP IND ONL "Set-Cookie: tmgioct = 519402aea446110439257710; scade = sab, 13-mag-2023 21:48:30 GMT; percorso = /; httponly {"meta": {"stato": 400, "msg": "Richiesta errata"}, "risposta": {"errori": ["Errore caricamento foto."]}} ' –
provare a rimuovere la parte didascalia - funziona? – PHearst