2012-01-21 3 views
0

피카사 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을 지원하지만 쉽게 파이썬 API에 직접 추가 할 수 있습니다.

+0

흠 확인 감사합니다, 그래서 내장 기능이 거기에 없습니다. – thyagx

+0

불행히도 Python API에는 없습니다. Java API에만 있습니다. 소스를 복제하면 쉽게 추가 할 수 있습니다 (http://code.google.com/p/gdata-python-client/source/checkout). –

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) 

유사 :

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*/);