2013-03-03 46 views
0

我試圖通過perl的API後在tumblr 3張圖片...後幾個圖片用Perl

我有這樣的代碼工作良好的一個畫面:

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."]}} 
+0

'數據'=> \ @url, – 2013-03-03 23:25:30

+0

謝謝,但沒有改變! – user2129831 2013-03-03 23:37:58

回答

1

數據對於本地文件,使用來源爲互聯網訪問圖像

my %elements = ( 
    'type' => 'photo', 
    'source' => \@url, 
); 

問候,