2012-09-21 42 views
0

即时通讯试图从我的Android应用程序共享图像到Instagram应用程序.........我不能上传图像.........从自己的Android应用程序共享图像到inastagram

@SuppressWarnings("unchecked") 
public Map<String, String> doUpload() { 
Log.i(TAG, "Upload"); 
Long timeInMilliseconds = System.currentTimeMillis()/1000; 
String timeInSeconds = timeInMilliseconds.toString(); 
MultipartEntity multipartEntity = new  
MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
Map returnMap = new HashMap<String, String>(); 
// check for cookies 
/* if(httpClient.getCookieStore() == null) { 
returnMap.put("result", "Not logged in"); 
     return returnMap; 
    }*/ 

    try { 
     // create multipart data 
     System.out.println("image path name : "+processedImageUri.getPath()); 
     System.out.println("image file path : "+ImgFilePath); 
     File imageFile = new File(ImgFilePath);//processedImageUri.getPath()); 
     FileBody partFile = new FileBody(imageFile); 
     StringBody partTime = new StringBody(timeInSeconds); 

     multipartEntity.addPart("photo", partFile); 
     multipartEntity.addPart("device_timestamp", partTime); 
    } catch (Exception e) { 
     Log.e(TAG,"Error creating mulitpart form: " + e.toString()); 
     returnMap.put("result", "Error creating mulitpart form: " + e.toString()); 
     return returnMap; 
    } 

    // upload 
    try { 
     System.out.println("111111111111111111"); 
     System.out.println("multipart entity value : "+multipartEntity.toString()); 
     HttpPost httpPost = new HttpPost(Utils.UPLOAD_URL); 
     httpPost.setEntity(multipartEntity); 
     System.out.println("http post vlaue : "+httpPost.toString()); 
     System.out.println("http client value : "+httpClient.toString()); 
     HttpResponse httpResponse = httpClient.execute(httpPost); 
     System.out.println("Http response value : "+httpResponse.toString()); 
     HttpEntity httpEntity = httpResponse.getEntity(); 
     Log.i(TAG, "Upload status: " + httpResponse.getStatusLine()); 
     System.out.println("staus entity value : "+httpResponse.getStatusLine().toString()); 
     System.out.println("http status : "+HttpStatus.SC_OK); 

     // test result code 
     if(httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { 
      Log.e(TAG, "Login HTTP status fail: " + httpResponse.getStatusLine().getStatusCode()); 
      returnMap.put("result", "HTTP status error: " + httpResponse.getStatusLine().getStatusCode()); 
      return returnMap; 
     } 

     // test json response 
     // should look like 
     /* 
     {"status": "ok"} 
     */ 
     if(httpEntity != null) { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(httpEntity.getContent(), "UTF-8")); 
      String json = reader.readLine(); 
      System.out.println("Entity value : "+json); 
      JSONTokener jsonTokener = new JSONTokener(json); 
      JSONObject jsonObject = new JSONObject(jsonTokener); 
      Log.i(TAG,"JSON: " + jsonObject.toString()); 

      String loginStatus = jsonObject.getString("status"); 

      if(!loginStatus.equals("ok")) { 
       Log.e(TAG, "JSON status not ok: " + jsonObject.getString("status")); 
       returnMap.put("result", "JSON status not ok: " + jsonObject.getString("status")); 
       return returnMap; 
      } 
     } 
    } catch(Exception e) { 
     Log.e(TAG, "HttpPost exception: " + e.toString()); 
     returnMap.put("result", "HttpPost exception: " + e.toString()); 
     return returnMap; 
    } 

    // configure/comment 
    try { 
     HttpPost httpPost = new HttpPost(Utils.CONFIGURE_URL); 
     String partComment = txtCaption.getText().toString(); 
     List<NameValuePair> postParams = new ArrayList<NameValuePair>(); 
     postParams.add(new BasicNameValuePair("device_timestamp", timeInSeconds)); 
     postParams.add(new BasicNameValuePair("caption", partComment)); 
     httpPost.setEntity(new UrlEncodedFormEntity(postParams, HTTP.UTF_8)); 
     System.out.println("http client value : "+httpClient.toString()); 
     HttpResponse httpResponse = httpClient.execute(httpPost); 
     HttpEntity httpEntity = httpResponse.getEntity(); 

     // test result code 
     if(httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { 
      Log.e(TAG, "Upload comment fail: " + httpResponse.getStatusLine().getStatusCode()); 
      returnMap.put("result", "Upload comment fail: " + httpResponse.getStatusLine().getStatusCode()); 
      return returnMap; 
     } 

     returnMap.put("result", "ok"); 
     return returnMap; 
    } catch(Exception e) { 
     Log.e(TAG, "HttpPost comment error: " + e.toString()); 
     returnMap.put("result", "HttpPost comment error: " + e.toString()); 
     return returnMap; 
    } 

以上是我用来上传图片和url的代码,这是UPLOAD_URL =“http://instagr.am/api/v1/media/upload/”........ ..... 任何人都可以帮助我上传图像到Instagram .......提前致谢

回答

4

Instagram的API不支持上传。

从Instagram的API文档:

此时,通过API上传是不可能的。我们有意识地选择不添加这个,原因如下:

Instagram是关于你在旅途中的生活 - 我们希望在应用内鼓励照片 。但是,未来我们可能会根据具体情况向白名单 访问各个应用。我们想打 垃圾邮件&低质量的照片。一旦我们允许从其他来源上传, 就很难控制进入Instagram生态系统的内容。这就是所有的 ,我们正在努力确保用户在我们的平台上拥有一致和高质量的体验 。

+0

谢谢。有没有其他可能的方式来分享我的图片到instagram。 – neelsnallu

+0

可以建议我任何其他可能的方式来分享我的形象到Instagram PLZ .... – neelsnallu

+0

有没有办法共享一个图像到Instagram ... – tcd

相关问题