我们如何显示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(); }