androidflickrphoto-upload

Flickr rest api(Photo upload)


HttpClient httpclient = new DefaultHttpClient();
            HttpPost post = new HttpPost(
                    "http://api.flickr.com/services/upload/");
            HttpResponse response;
            try {
                response = httpclient.execute(post);
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    InputStream inputstream = entity.getContent();
                    BufferedReader bufferedreader = new BufferedReader(
                            new InputStreamReader(inputstream));
                    StringBuilder stringbuilder = new StringBuilder();
                    String currentline = null;
                    try {
                        while ((currentline = bufferedreader.readLine()) != null) {
                            stringbuilder.append(currentline + "\n");
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    String result = stringbuilder.toString();
                    System.out.println(result);
                }

                // HttpPost hp = new HttpPost(fma.upload_url);
                try {
                    Bitmap bm = BitmapFactory.decodeFile(file.toString()
                            + "/09102011079.jpg");
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    bm.compress(Bitmap.CompressFormat.JPEG, 50, baos);
                    byte[] b = baos.toByteArray();
                    ByteArrayBody bab = new ByteArrayBody(b, "");
                    MultipartEntity me = new MultipartEntity();
                    me.addPart("media", bab);
                    post.setEntity(me);
                    /*String s = "<root>" + "<entities>" + "<media>"
                            + "<size>" + "<large>" + "<width>700</width>"
                            + "<height>500<height>"
                            + "<resize>\"fit\"</resize>" + "</large>"
                            + "</size>" + "</media>" + "</entities>"
                            + "</root>";*/
                    /*
                     * try { se = new StringEntity(s); } catch
                     * (UnsupportedEncodingException e1) { // TODO //
                     * Auto-generated // catch // block //
                     * e1.printStackTrace(); // } // }
                     */
                    // ByteArrayEntity bae = new ByteArrayEntity(b); //
                    // hp.setEntity(se); // hp.setEntity(bae);
                    fma.consumer.sign(post);
                    DefaultHttpClient client = new DefaultHttpClient();
                    client.execute(post);
                } catch (OAuthMessageSignerException e) { 
                    System.out.println(e.getMessage());
                } catch (OAuthExpectationFailedException e) { 
                    System.out.println(e.getMessage());
                } catch (OAuthCommunicationException e) { 
                    System.out.println(e.getMessage());
                } catch (ClientProtocolException e) { 
                    System.out.println(e.getMessage());
                } catch (IOException e) { 
                    System.out.println(e.getMessage());
                }

            } catch (Exception e) {

            }

This is my upload code but every time I am getting this error ------>

11-14 12:20:33.515: INFO/System.out(444):
err code="100" msg="Invalid API Key (Key has invalid format)"

Please help me. Thanks in advance.


Solution

  • If you take a look at the Flickr upload API

    100: Invalid API Key: The API key passed was not valid or has expired.

    So I guess your API key was incorrect. To use the Flickr API you need to have an application key.

    Currently, commercial use of the API is allowed only with prior permission. Requests for API keys intended for commercial use are reviewed by staff.

    Here is how to get an API key


    No photo specified The photo required argument was missing.