如何从picasa api获取特定专辑?
目前我正在做这样的事情:
def album(gd_client, album_id, user):
all_albums = albums(gd_client,user)
for album in all_albums:
if album.service_id == album_id:
return album
这意味着我会收到所有相册并过滤掉我需要的相册。
但必须有一种更简单,更有效的方法。
谢谢!
答案 0 :(得分:2)
在Google数据协议版本2.0中,有PartialResponse的实验性支持,它允许您通过传入fields
参数来过滤服务器上的响应。
不幸的是,只有Java API支持2.0,但你可以自己轻松地将它添加到Python API中。
答案 1 :(得分:0)
看起来你想要"进入" API。以下是我如何获取公开相册的AlbumEntry(不想处理身份验证):
base = "https://picasaweb.google.com";
user = "101405741057659770470" # myself
albumid = "6333524051829767505"
# must be inside of a function to use locals()
url = "%(base)s/data/entry/api/user/%(user)s/albumid/%(albumid)s" % locals()
gd_client = gdata.photos.service.PhotosService()
entry = gd_client.GetEntry(url)
assert isinstance(entry, gdata.photos.AlbumEntry)
类似于Java:
String baseURL = "https://picasaweb.google.com";
String userId = "101405741057659770470" // myself
String albumid = "6333524051829767505"
String albumUrl = String.format(
"%s/data/entry/api/user/%s/albumid/%s", baseURL, userId, albumId);
// myService is defined here: https://developers.google.com/picasa-web/docs/2.0/developers_guide_java
AlbumEntry entry = myService.getEntry(new URL(albumUrl), AlbumEntry.class, (DateTime) null /* modified since*/);