私は perl で tumblr API をいじっていて、いくつかの機能が動作するようになりました。
ただし、ローカルの画像ファイルを perl 経由でアップロードすることはできません。
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;
}
ただし、投稿パラメーターの「データ」を「url」に置き換えると(ここの API の説明で指示されているように - http://www.tumblr.com/docs/en/api/v2#posting)、取得し続けますtumblr からのエラー応答。「データ」パラメーターを入力するいくつかの方法を試しました-ファイルへのパスとして、バイナリ表現として、URLエンコードされたバイナリ表現として、URLエンコードされたbase64バイナリ表現として、これらの値のいずれかを単一の要素として貼り付けました配列内-すべてを試しましたが、それぞれでtumblrからエラーメッセージが返されます。
ローカルの画像ファイルを tumblr にアップロードする方法を教えてください。