2009-08-22 7 views
7

D'accord, il semble être une question stupide, puisque nous avons thisComment afficher une photo de l'API Picasa java?

Cependant, jusqu'au moment, je ne peux réussir dans l'affichage des vignettes en utilisant:

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

La plus grande photo que je peux affichage à travers cette méthode est jusqu'à 300 pixels ou plus [qui est photo.getMediaThumbnails().get(3)]. Comment puis-je afficher une vignette jusqu'à 400 pixels ou même 800 pixels? Ou Comment puis-je me référer à la page google picasa qui peut réellement m'aider à afficher cette photo?

Merci

+0

Il semble que seuls quelques-uns les gens utilisent picasa api .. lol .. –

+0

comment obtenir picasa dans votre application .. – NagarjunaReddy

Répondre

6

Ce qui suit a été répondu par un membre de la communauté de google picasa api:

Jetez un oeil à

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

Il explique comment vous pouvez contrôler la taille de l'image que le lien media: content indique aussi bien que comment vous pouvez equest different thumbsizes pour les médias: vignette liens. Les valeurs valides de sont également disponibles. Notez cependant, que vous pouvez seulement accéder aux images jusqu'à 800px dans la taille (largeur ou taille, quelle que soit plus grande) des sites Web.

Par exemple:

GET /feed/api/utilisateur // ALBUMID /? type = photo & imgmax = 800 & ThumbSize = 512,400,160c

vous donnera un lien vers une 800px la version dans les médias: lien contenu, un lien au uncropped 512px et 400px version dans le deux premiers media: vignettes et miniature recadrée 160x160 en le troisième élément de vignette.

Cheers, Detlev

9

assez simple

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

Vous pouvez utiliser ce moyen pour obtenir que 400/800px photo.

Il vous suffit de changer l'URL de résultat qui est donnée. Changer le S144/S400/S800 valeur de l'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

m'a vraiment aidé .. merci! –

+0

Merci .. Cela a fonctionné –

5

Si vous utilisez l'API Picasa Java et avez besoin pour obtenir l'URL de l'image après le téléchargement essayer d'utiliser le code suivant

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

'retournéPhoto.getMediaContents(). Get (0).getUrl() 'm'a donné ce que je voulais pour mes png téléchargés aussi. C'est le lien direct que je peux utiliser pour le hotlinking, l'embedding, etc. – KevinL

+0

Hélas, cela semble être limité à environ 512 pixels sur une dimension aussi. – KevinL

Questions connexes