share image to inastagram from own android application

∥☆過路亽.° 提交于 2019-12-12 05:38:16

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!