2009-08-22 12 views
7

Ok, wydaje się być głupie pytanie, ponieważ mamy thisJak wyświetlić zdjęcie z interfejsu API Picasa Java?

Jednak, aż do momentu, mogę odnieść sukces tylko wyświetlanie miniaturek za pomocą:

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

Największy zdjęcie mogę wyświetlanie za pomocą tej metody wynosi do 300 pikseli lub tak [co jest photo.getMediaThumbnails().get(3)]. Jak wyświetlić miniaturę do 400 pikseli, a nawet 800 pikseli? Lub Jak mogę odnieść się do strony Picasa Google, która może mi pomóc wyświetlić to zdjęcie?

Dzięki

+0

Wydaje się, że tylko nieliczni ludzie używają Picasa api .. lol .. –

+0

jak zdobyć Picasę w swojej aplikacji .. – NagarjunaReddy

Odpowiedz

6

Poniższa odpowiedział przez członka społeczności Google Picasa API:

Spójrz na

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

Wyjaśnia, w jaki sposób można kontrolować wielkość obrazu, na który wskazuje link do multimediów: : , tak jak można equest różne kciuki dla mediów: miniatury łączy. Podano również dostępne wartości rozmiaru . Pamiętaj jednak, że możesz uzyskać dostęp tylko do obrazów o rozmiarze do 800px (szerokość lub wysokość, niezależnie od numeru ) ze stron internetowych.

Na przykład:

GET /feed/api/user // ALBUMID /? rodzaj = zdjęcie & imgmax = 800 & Thumbsize = 512,400,160c

daje link do 800px wersji w mediach: Treść linku, a link do uncropped 512px i 400px wersji w dwóch pierwszych media: elementy miniatury i przycięta na kształt kwadratu miniatura 160x160 w trzeci element miniatury.

Cheers, Detlev

9

całkiem proste

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

można wykorzystywać w ten sposób, aby ta 400/800px zdjęcie.

Należy zmienić tylko podany adres URL wyniku. Zmień S144/S400/S800 wartość adresu 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 
+0

Naprawdę pomógł mi .. dzięki! –

+0

Dzięki .. Udało –

5

Jeśli używasz Picasa Java API i trzeba uzyskać URL obrazu po wgraniu spróbować użyć następującego kodu

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

'zwróciłPhoto.getMediaContents(). Get (0).getUrl() 'dał mi to, co chciałem dla mojego przesłanego pngs też. Jest to bezpośrednie łącze, które mogę wykorzystać do tworzenia łączy, osadzania itp. – KevinL

+0

Niestety, wydaje się, że jest to również ograniczone do około 512 pikseli w wymiarze. – KevinL

Powiązane problemy