我们如何显示Picasa java API中的照片?

好吧,这似乎是一个愚蠢的问题,因为我们有这个

但是,到目前为止,我只能通过使用以下方式成功显示缩略图:

PhotoEntry photo = //somehow I get the instance photo.getMediaThumbnails().get(0).getUrl() 

我可以通过这种方法显示的最大照片最多可达300像素[这是photo.getMediaThumbnails().get(3) ]。 如何显示最大400像素甚至800像素的缩略图? 或者,我怎样才能回到可以帮助我显示这张照片的谷歌picasa页面?

谢谢

非常简单

  PhotoEntry photo = //somehow I get the instance photo.getMediaThumbnails().get(0).getUrl() 

您可以使用这种方式获得400 / 800px照片。

您只需更改给定的结果URL。 更改URL的s144 / s400 / s800值

 BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s72/DSC09176.JPG BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s144/DSC09176.JPG BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s288/DSC09176.JPG BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s400/DSC09176.JPG BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s800/DSC09176.JPG 

以下是由谷歌picasa api的社区成员回答:

看一眼

http://code.google.com/apis/picasaweb/docs/2.0/reference.html#Parameters

它解释了如何控制媒体:内容链接指向的图像大小,以及如何为媒体请求不同的缩略图:缩略图链接。 还列出了可用的有效大小值。 但请注意,您只能访问网站中最大尺寸为800像素(宽度或高度,无论大小)的图像。

例如:

GET / feed / api / user // albumid /? KIND =照片和imgmax = 800&thumbsize = 512,400,160c

将为您提供媒体中800px版本的链接:内容链接,前两个媒体中未剪切的512px和400px版本的链接:缩略图元素和第三个缩略图元素中的方形裁剪的160×160缩略图。

干杯,Detlev

如果您使用的是Picasa Java API,并且需要在上传后获取图片url,请尝试使用以下代码

  try { File photoFile = new File(getFileName()); service = new PicasawebService(applicationName); MediaFileSource photoMedia = new MediaFileSource(photoFile, "image/jpg"); URL albumPostUrl = new URL(String.format("http://picasaweb.google.com/data/feed/api/user/%1$s/albumid/%2$s", getUserName(), getAlbumId())); PhotoEntry returnedPhoto = service.insert(albumPostUrl, PhotoEntry.class, photoMedia); String href = returnedPhoto.getHtmlLink().getHref(); if (returnedPhoto.getMediaContents().size() > 0) { // !!!!!!!!!!!!!!!This is exactly JPEG URL href = returnedPhoto.getMediaContents().get(0).getUrl(); } logger.info(String.format("Image published: <%s>", href)); return href; } catch (AuthenticationException e) { logger.error(e.getMessage(), e); e.printStackTrace(); } catch (MalformedURLException e) { logger.error(e.getMessage(), e); e.printStackTrace(); } catch (IOException e) { logger.error(e.getMessage(), e); e.printStackTrace(); } catch (ServiceException e) { logger.error(e.getMessage(), e); e.printStackTrace(); }