问题
i m trying to share the image from my android application to instagram application......... i cant upload the image.........
@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;
}
the above is the code which i m using for upload the image and the url for this is UPLOAD_URL = "http://instagr.am/api/v1/media/upload/" ............. pls can anyone help me to upload the image to instagram....... Thanks in advance
回答1:
The Instagram API doesn't support uploading yet.
From the Instagram API Docs:
At this time, uploading via the API is not possible. We made a conscious choice not to add this for the following reasons:
Instagram is about your life on the go – we hope to encourage photos from within the app. However, in the future we may give whitelist access to individual apps on a case by case basis. We want to fight spam & low quality photos. Once we allow uploading from other sources, it's harder to control what comes into the Instagram ecosystem. All this being said, we're working on ways to ensure users have a consistent and high-quality experience on our platform.
来源:https://stackoverflow.com/questions/12531310/share-image-to-inastagram-from-own-android-application