我想从我的Google Picasa帐户中获取相册列表。我试过了this指南。问题是它成功验证,但不会返回任何相册(请参阅下面的代码)。我仍然可以发布新专辑。
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import com.google.gdata.client.photos.PicasawebService;
import com.google.gdata.data.PlainTextConstruct;
import com.google.gdata.data.photos.AlbumEntry;
import com.google.gdata.data.photos.UserFeed;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ServiceException;
public class Test {
public static void main(String[] args) {
String username = "myusername";
String password = "mypassword";
PicasawebService service = new PicasawebService("myapp");
try {
// Get list of albums. (AUTHENTICATION SUCCESSFUL BUT NO ALBUM RETURNED)
service.setUserCredentials(username, password);
URL url = new URL("https://picasaweb.google.com/data/feed/api/user/" + username + "?kind=album");
UserFeed feed = service.getFeed(url, UserFeed.class);
List<AlbumEntry> albums = feed.getAlbumEntries();
System.out.println(albums.size());
// Create an album. (SUCCESSFUL, I CAN SEE IT IN MY PICASA)
URL postUrl = new URL("https://picasaweb.google.com/data/feed/api/user/" + username);
AlbumEntry myAlbum = new AlbumEntry();
myAlbum.setTitle(new PlainTextConstruct("Trip to France"));
myAlbum.setDescription(new PlainTextConstruct("My recent trip to France was delightful!"));
AlbumEntry insertedEntry = service.insert(postUrl, myAlbum);
System.out.println(insertedEntry.getName());
} catch (AuthenticationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这是控制台输出:
0
TripToFrance03
答案 0 :(得分:5)
您可能从类路径中丢失gdata-photos-meta-2.0.jar
。代码将在没有jar的情况下编译和运行,但getAlbumEntries()
不会返回任何内容。