AndroidアプリケーションからInstagramアプリケーションに画像を共有しようとしています.........画像をアップロードできません....
@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/" .......... . plsは誰でも私がインスタグラムに画像をアップロードするのを手伝ってくれませんか....... よろしくお願いします