Flickr rest api(照片上传)

时间:2011-11-14 06:58:18

标签: android flickr 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) {

            }

这是我的上传代码,但每次收到此错误------&gt;

11-14 12:20:33.515:INFO / System.out(444):
错误代码=“100”msg =“无效的API密钥(密钥格式无效)”

请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:3)

如果您查看Flickr upload API

  

100:API密钥无效:   传递的API密钥无效或已过期。

所以我猜你的API密钥不正确。要使用Flickr API,您需要有一个应用程序密钥。

  

目前,只有事先获得许可才允许商业使用API​​。用于商业用途的API密钥请求由工作人员审核。

这是how to get an API key


未指定照片 缺少必要的照片。

相关问题