简化 Picasa 图片上传

 Toy Posted in AppsRSSTrackback

GPPM (Google Picasa Perl Module) v0.1 版本颠末我两天调试,从连 HTTP::Message 都不太明了理睬到 Google::Picasa 模块的公布,学习到了不少的工具。

GPPM 泛起的汗青启事

由于 Google 的 Picasa 欣赏器插件不支持 Linux,以是在 Linux 下只能一次选五个文件停止上传,上传速率慢,同时欣赏器的呼应也会变慢。其次,该模块对权限,认证做了封装。故此就有了 GPPM 这个模块,该模块紧张是为了扶持赞助人人愈加随意敷衍疾速的上传图片到 Picasa。

刻下当今还在测试阶段,很大概外面还存在不少的 Bug,然则我曾经可以正常的操纵了。

GPPM 现有的功用

  1. 列出 Picasa 外面的齐备的相册
  2. 设立建设新的相册
  3. 上传图片到相册

未来会加入的新功用

  1. 列出指定相册的图片
  2. 图片的删除
  3. 图片及相册相干信息的添加功用

人人可以颠末 GPPM 的接口,随意敷衍的只上传图片,乃至本身依据外地的目录设立建设相册,然后迭代的上传齐备必要的图片到相册。

存在的成果

  1. 由于 Google 管事器同步的启事,设立建设的相册不克不及马上查问,然则可以操纵。
  2. 由于不克不及及时查到相册的称呼,如果设立建设两个不异的相册,相册的称呼是 xxx01..xxx02 的方法增添,而不是原有的指定的标题成果。
  3. 由于 Google 没有供应相册删除功用,以是还不克不及删除相册。

举例

这个例子先打印当前有齐备的相册列表,然后创新新的相册,并将三个图片文件上传到新相册。

源码


 1 #!/usr/bin/perl
 2
 3 #Author: updatedb
 4 #Mail: dongqiang@gmail.com
 5
 6 use strict;
 7 use lib ".";
 8
 9 use Google::Picasa;
10
11 print "UserName:";
12 chomp ( my $username=<> );
13 print “Password:”;
14 chomp ( my $password=<> );
15
16 #new a object
17 my $picasa = Google::Picasa->new( $username, $password );
18
19 #get album list
20 my %albums = $picasa->get_album_list();
21 print “==================All album List=====================\n”;
22 print “ID                     =>     Album Name\n”;
23 foreach my $key ( keys %albums )
24 {
25     my $value = $albums{ $key };
26     print $value, ”    =>     “, $key, “\n”;
27 }
28 print “=====================================================\n”;
29
30 #create a new album if the album didn’t exsit.
31 my $new_album_name = “current”;
32 my ( $id, $name );
33 if ( exists( $albums{ $new_album_name } ) )
34 {
35     $id = $albums{ $new_album_name };
36     $name = $new_album_name;
37 }
38 else
39 {
40     print “Try to create album<$new_album_name>…\n”;
41     ( $id, $name ) = $picasa->create_album( $new_album_name );
42 }
43
44 #upload picture files
45 my @picnames = qw( mollusk.jpeg mollusk_bak.jpeg mollusk.png );
46 my $picname;
47 foreach $picname ( @picnames )
48 {
49     if ( $picasa->upload_file( $id, $name, $picname ) )
50     {
51         print “Upload $picname Successful\n”;
52     }
53 }

成果


==================All album List=====================
ID                     =>     Album Name
5080358959752961841    =>     GameScreen
5071179941904459073    =>     LinuxSpread
5072209707558315729    =>     OfficeDiff
=====================================================
Try to create album…
Upload mollusk.jpeg Successful
Upload mollusk_bak.jpeg Successful
Upload mollusk.png Successful

若需代码,可向我发邮件:<dongqiang#gmail.com>(发邮件时请将 # 互换为 @)。

- Download Google Picasa Perl Module v0.1





版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。不然将追究法律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1973071.html