2012-01-21 21 views
0

picasa apiから特定のアルバムを取得するにはどうすればよいですか?picasa api - アルバムIDを持つ特定のアルバムを取得するにはどうすればよいですか?

は現在、私はこのような何かをしています:

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 

私はすべてのアルバムを取得し、私は必要なものを除外することを意味します。

しかし、より簡単で効率的な方法が必要です。

ありがとうございます!

答えて

2

Googleデータプロトコルバージョン2.0では、PartialResponseを実験的にサポートしています。fieldsパラメータを渡すことで、サーバーで応答をフィルタリングすることができます。

残念ながら、Java APIのみが2.0をサポートしていますが、簡単にPython APIに追加できます。

+0

フムOKのおかげなので、このための組み込み機能はありませんここで(認証に対処する必要はありません)私は公共のアルバムのためAlbumEntryを得ることができる方法です。 – thyagx

+0

残念ながら、Python APIにはありません。Java APIにのみあります。ただし、[ソースのクローン作成](http://code.google.com/p/gdata-python-client/source/checkout)で簡単に追加できます。 –

0

「エントリ」APIが必要なようです。

Javaで同様の
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) 

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*/); 
関連する問題