google-plus – 使用Picasa API访问旧照片

是否可以从比某个日期更早的Picasa(或仍在使用Picasa API的Google Plus)中获取照片列表?我想从一年前的大型专辑“InstantUpload”专辑中获取今天的所有照片.

这些是我研究的内容:

> Java Developers Guide中的示例仅检索有限数量的“最近上传的”照片.
> This reported issue明确指出PicasaWeb查询不允许发布最小值(或已发布最大值)作为query参数.
>此查询中的start-index似乎没有任何效果.
>使用“Partial response”的工作,正如上面提到的问题由抓… @ gmail.com所提出的,不能比某个(看似相当随机)的日期更早得到照片.

最佳答案 编辑:

googlecl已经停产. Picasa已不再接受已弃用的OAuth版本.下面描述的方法不再有效.您可以在
Picasa Web Albums Data API找到替代方案.

我使用googlecl自动执行了与Picasa相关的任务.我在Linux上使用它,但也有Windows版本.是的,它是一个命令行工具;不要让你吓到你,你应该能够调用该工具并从你喜欢的编程语言(Java,C#,无论如何)中捕获它的输出.

在您的计算机上第一次运行googlecl需要您使用您的Google帐户登录,但在完成该操作后,googlecl将记住您的身份验证,并且不会再次打扰您.

所以你的专辑名为InstantUpload.以下命令将下载照片列表(日期/时间发布的URL).

google picasa list --title="InstantUpload" --fields=published,url-direct --delimiter=" " > FullList.txt

AFAIK,没有命令行选项可以在特定日期范围内进行过滤.您可以过滤标签,但这需要您为相册中的每张照片指定类似日期的标签.除非列表的下载时间困扰你(并且你有一些非常好的理由不将那个单一的大专辑分成多个较小的专辑),我建议你自己进行过滤,立即下载.

我发现CLI很方便,所以我将演示一些简单的shell脚本.但是,您当然可以使用您喜欢的任何编程语言进行过滤.

首先,让我们检索一年前的UTC日期(格式化为yyyy-mm-dd):

maxdate=$(date -u --date="1 year ago" +%F)

使用您最喜欢的过滤器工具(grep,sed,awk,perl)来过滤列表;只保留发布日期

awk "\$1 < \"$maxdate\" { print \$2; }" FullList.txt > FilteredList.txt

(AWK几乎适用于所有操作系统.)

您甚至可以自动下载照片.确保首先cd到适当的数据文件夹.

while read url; do
    wget "$url"
done < FilteredList.txt

将它们放在一个shell脚本文件中,一次调用足以为您完成所有艰苦的工作.

点赞