好吧,这似乎是一个愚蠢的问题,因为我们有this
但是,到目前为止,我只能通过使用以下方式成功显示缩略图:
PhotoEntry photo = //somehow I get the instance
photo.getMediaThumbnails().get(0).getUrl()
我可以通过此方法显示的最大照片最多可达300像素[这是photo.getMediaThumbnails().get(3)
]。如何显示最大400像素甚至800像素的缩略图?或者,我怎样才能回到可以帮我显示这张照片的谷歌picasa页面?
由于
答案 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();
}