Jordan,
My service code is inserting an image from a URL, and the code looks like
this:
public String addPhotoFromUrl(String urlString, String name)
      throws IOException, ServiceException {
    name += "." + FilenameUtils.getExtension(urlString);
    URL url = new URL(urlString);
    URLConnection connection = url.openConnection();
    String contentType = connection.getContentType();
    PhotoEntry myPhoto = new PhotoEntry();
    myPhoto.setTitle(new PlainTextConstruct(name));
    myPhoto.setDescription(new PlainTextConstruct(name));
    myPhoto.setClient("myClientName");
    MediaStreamSource mediaStreamSource = new MediaStreamSource(
        connection.getInputStream(), contentType);
    mediaStreamSource.setName(name);
    myPhoto.setMediaSource(mediaStreamSource);
    refreshCredential(credential, picasawebService);
    PhotoEntry returnedPhoto = picasawebService.insert(getPhotoFeedUrl(),
        myPhoto);
    if (returnedPhoto.getMediaContents().size() > 0) {
      return returnedPhoto.getMediaContents().get(0).getUrl();
    }
    return null;
  }

Once this quit working, I added a method to this class to play with that
loads an image from the file system.  This method looks like this (most of
the code is taken directly from the Java Picasa User's guide:
public void insertPhoto()
      throws MalformedURLException, IOException, ServiceException {
    PhotoEntry myPhoto = new PhotoEntry();
    myPhoto.setTitle(new PlainTextConstruct("Puppies FTW"));
    myPhoto.setDescription(new PlainTextConstruct("Puppies are the
greatest."));
    myPhoto.setClient("myClientName");
    // put path to photo here
    MediaFileSource myMedia = new MediaFileSource(
        new File("some_file.jpg"), "image/jpeg");
    myPhoto.setMediaSource(myMedia);
    refreshCredential(credential, picasawebService);
    PhotoEntry returnedPhoto = picasawebService.insert(getPhotoFeedUrl(),
        myPhoto);
  }

The credential and the picasawebService variables you see in the methods
are class member variables, and instantiated via Java Config in Spring.
They are fine (as this worked through Friday morning), and I can still
successfully progromatically create albums through the code using the
credential and picasawebService.

I've run this many times, and get 1 out of every 50-60 tries to upload.
Otherwise it gives me the error:
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Bad Request</H1>
<H2>Error 400</H2>
</BODY>
</HTML>

    at
com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:602)
    at
com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
    at
com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
    at
com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
    at
com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
    at
com.google.gdata.client.media.MediaService.insert(MediaService.java:399)

Any help greatly appreciated, and thank you.
-Christian

-- 
You received this message because you are subscribed to the Google Groups 
"Google Picasa Web Albums API" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-picasa-data-api+unsubscr...@googlegroups.com.
To post to this group, send email to google-picasa-data-api@googlegroups.com.
Visit this group at https://groups.google.com/group/google-picasa-data-api.
For more options, visit https://groups.google.com/d/optout.

Reply via email to