1

I need to make a HTTPPost reguest on Cloudsight for image recognition purpose. I have:

BASE URL https://api.cloudsight.ai/v1/images

Headers: Content-Type  application/json
        Authorization  Cloudsight API_KEY

Its says: Send an image by using an HTTP POST request on the endpoint /images with either a multipart-form-encoded, or base64 encoded data parameter. url: http://docs.cloudsight.apiary.io/#reference/0/images-collection/send-an-image-for-identification?console=1 So far i have made this:

private class HTTPPOSTReguest extends AsyncTask<String, Void, String> {
        ProgressDialog dialog;
        String result = "";
        @Override

        protected void onPreExecute() {

        }

        @Override
        protected String doInBackground(String... params) {

            try {

                HttpResponse response = null;
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(BASE_URL);
                httppost.addHeader("Content-Type", "application/json");
                httppost.addHeader("Authorization", "CloudSight buEA_pC6K7FXT60inM2eUQ");

                ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("images", encodedImage));
               httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                response = httpclient.execute(httppost);
                int responseCode = response.getStatusLine().getStatusCode();

                
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    String responseBody = EntityUtils.toString(entity);
                    result = responseBody;
                }
            }  catch (IOException e) {
                e.printStackTrace();
            }
            return result;
        }

Buth can seem to make a successful reguest. Can someone offer advice

Katherina
  • 379
  • 1
  • 2
  • 15

1 Answers1

2

A couple of things I noticed while looking through this. In the second snippet from the top, the Authorization header reads:

Cloudsight API_KEY instead of CloudSight API_KEY

Not sure if that was just a quick typo or if that's in the code. In the code sample, there's a line reading:

HttpPost httppost = new HttpPost("https://api.cloudsightapi.ai");

That should instead be:

HttpPost httppost = new HttpPost("https://api.cloudsight.ai/v1/images");

Give that a shot and let us know how it goes!

CDub
  • 13,146
  • 4
  • 51
  • 68
Brad Folkens
  • 966
  • 1
  • 7
  • 9
  • actually I need to make a different request, (see the above), I changed the code, and thank you for the suggestion – Katherina Oct 03 '17 at 21:49