perl API経由でtumblrに3枚の写真を投稿しようとしています...
私はこのコードが1つの画像でうまく機能するようにしています:
use LWP::Authen::OAuth;
use Data::Dumper;
my $ua = LWP::Authen::OAuth->new(
oauth_consumer_key => 'xxx',
oauth_consumer_secret => 'xxx',
oauth_token => 'xxx',
oauth_token_secret => 'xxx',
);
my $url = 'http://publicpics.free.fr/856833_10151249956981150_1285625380_o.jpg';
my %elements = (
'type' => 'photo',
'source' => $url,
);
print Dumper (\%elements);
print $ua->post( 'http://api.tumblr.com/v2/blog/xxxx.tumblr.com/post', [%elements] )->as_string;
この API ドキュメントを使用しますhttp://www.tumblr.com/docs/en/api/v2#posting
いくつかの写真の場合、パラメーターに配列を貼り付ける必要があります...だから私はこれを試してみますが、うまくいきません:
use LWP::Authen::OAuth;
use Data::Dumper;
my $ua = LWP::Authen::OAuth->new(
oauth_consumer_key => 'xxx',
oauth_consumer_secret => 'xxx',
oauth_token => 'xxx',
oauth_token_secret => 'xxx',
);
my @url = ( 'http://publicpics.free.fr/856833_10151249956981150_1285625380_o.jpg' );
my %elements = (
'type' => 'photo',
'data' => \@url,
);
print Dumper (\%elements);
print $ua->post( 'http://api.tumblr.com/v2/blog/xxxx.tumblr.com/post', [%elements] )->as_string;
私はこのリターンを持っています:
$VAR1 = {
'data' => [
'http://publicpics.free.fr/856833_10151249956981150_1285625380_o.jpg'
],
'type' => 'photo'
};
HTTP/1.1 400 Bad Request
Connection: close
Date: Sun, 03 Mar 2013 22:01:13 GMT
Server: Apache
Vary: Accept-Encoding
Content-Length: 92
Content-Type: application/json
Client-Date: Sun, 03 Mar 2013 22:01:13 GMT
Client-Peer: 66.6.36.55:80
Client-Response-Num: 1
P3P: CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"
X-Tumblr-Usec: D=112074
{"meta":{"status":400,"msg":"Bad Request"},"response":{"errors":["Error uploading photo."]}}