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

Win*_*hen 7 java picasa

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

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

PhotoEntry photo = //somehow I get the instance
photo.getMediaThumbnails().get(0).getUrl()
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Dax*_*xon 9

非常简单

 PhotoEntry photo = //somehow I get the instance
    photo.getMediaThumbnails().get(0).getUrl()
Run Code Online (Sandbox Code Playgroud)

您可以使用这种方式获取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
Run Code Online (Sandbox Code Playgroud)


Win*_*hen 6

以下是由谷歌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版本的链接:缩略图元素和第三个缩略图元素中的方形裁剪的160x160缩略图.

干杯,Detlev


Bor*_*nko 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();
    }
Run Code Online (Sandbox Code Playgroud)