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

时间:2009-08-22 07:53:41

标签: java picasa

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

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

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

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

由于

3 个答案:

答案 0 :(得分:9)

非常简单

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

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

您只需更改给定的结果网址即可。 更改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

答案 1 :(得分:6)

谷歌picasa api的社区成员回答了以下问题:

  

看看

     

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

     

它解释了如何控制   那个图像的大小   媒体:内容链接也指向   如何请求不同   对于媒体大拇指:缩略图   链接。还列出了有效大小   价值可用。但请注意   您只能访问高达800px的图像   大小(宽度或高度,无论是什么   更大)来自网站。

     

例如:

     

GET   /进料/ API /用户// ALBUMID /?   样=相片&安培; imgmax = 800安培; thumbsize = 512,400,160c

     

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

     

干杯,Detlev

答案 2 :(得分:5)

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

    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();
    }