2012-09-21 53 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

相關問題