Как отобразить фотографию из java API Picasa?

Хорошо, это кажется глупым вопросом, поскольку у нас есть это

Однако на данный момент мне удается отображать миниатюры только с помощью:

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

Самая большая фотография, которую я могу отобразить с помощью этого метода, имеет размер до 300 пикселей или около того [то есть photo.getMediaThumbnails().get(3)]. Как я могу отобразить миниатюру размером до 400 или даже 800 пикселей? Или как я могу вернуться к странице Google Picasa, которая действительно может помочь мне отобразить эту фотографию?

Спасибо


person Community    schedule 22.08.2009    source источник
comment
Похоже, мало кто пользуется API picasa.. лол..   -  person Winston Chen    schedule 24.08.2009
comment
как получить Picasa в вашем приложении ..   -  person NagarjunaReddy    schedule 12.09.2012


Ответы (3)


Довольно просто

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

Вы можете использовать этот способ, чтобы получить фотографию размером 400/800 пикселей.

Вам нужно только изменить указанный URL-адрес результата. Измените значение s144/s400/s800 URL-адреса.

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
person Community    schedule 20.09.2009

На следующий вопрос ответил член сообщества google picasa api:

Взгляни на

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

В нем объясняется, как вы можете контролировать размер изображения, на которое указывает ссылка media:content, а также как вы можете запрашивать разные размеры миниатюр для ссылок media:thumbnail. Также перечислены допустимые значения размеров. Однако обратите внимание, что вы можете получить доступ только к изображениям размером до 800 пикселей (ширина или высота, в зависимости от того, что больше) с веб-сайтов.

Например:

ПОЛУЧИТЬ /feed/api/user//albumid/? вид=фото&imgmax=800&размер большого пальца=512 400 160c

даст вам ссылку на версию 800px в ссылке media:content, ссылку на необрезанную версию 512px и 400px в первых двух элементах media:thumbnail и квадратную миниатюру 160x160 в третьем элементе thumbnail.

С уважением, Детлев

person Community    schedule 02.09.2009

Если вы используете 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();
    }
person Community    schedule 21.02.2012
comment
returnedPhoto.getMediaContents().get(0).getUrl() также дал мне то, что я хотел, для моих загруженных png. Это прямая ссылка, которую я могу использовать для хотлинкинга, встраивания и т. д. - person KevinL; 13.03.2015
comment
Увы, это, кажется, также ограничено примерно 512 пикселями в измерении. - person KevinL; 15.03.2015