上述答案适用于现已弃用的Picasa API v2。我无法成功使用Java API for Picasa API v3,但我想出了一种使用http post将图像上传到Picasa的方法。我写这个方法here:
File image = new File("/path/to/image.jpg");
byte[] imageContent = null;
try {
imageContent = Files.toByteArray(image);
} catch (Exception e) {
// do something
}
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost("https://picasaweb.google.com/data/feed/api/user/default/albumid/default");
httpPost.addHeader("Authorization", "Bearer " + mAccessToken);
httpPost.addHeader("Content-Type", "image/jpeg");
httpPost.setEntity(new ByteArrayEntity(imageContent));
try {
HttpResponse httpResponse = httpClient.execute(httpPost);
// log the response
logd(EntityUtils.toString(httpResponse.getEntity()));
} catch (IOException e){
// do something
}
此方法使用Apache的HttpClient的。如果您的Android版本不支持它,你仍然可以在您的摇篮文件这一行编译:
compile 'cz.msebera.android:httpclient:4.4.1.1'