Search code examples
androidfoursquare

FileNotfoundException when trying to checkin Foursquare using Android


I tried looking for answers for this since last few days with no luck, Even some of the stackoverflow answers did not help.

I am trying to checkin a user after receiving his UserToken via Android. I get a FileNotfoundException at getInputStream(), non authenticated APIs like "https://api.foursquare.com/v2/venues/categories" work well. Am i missing something?

    URL url = new URL("https://api.foursquare.com/v2/checkins/add?oauth_token="+token);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.addRequestProperty("venueId","12238");
    conn.setDoInput(true);
    conn.setRequestMethod("POST");
    conn.setAllowUserInteraction(true);
    conn.connect();
    InputStream is = conn.getInputStream();
    String response = streamToString(is);
    return response;

Managed to solve this after lot of effort. See my answer below.


Solution

  • Okie I finally managed to solve the problem, I don't know what exactly was the problem with my code above but the following worked.

    This API requires a POST call but even the venueID must be part of the URL and addRequestProperty does not seem to be sending the venueID properly. Hence I changed the code to

    URL url = new URL("https://api.foursquare.com/v2/checkins/add?venueId=12238&oauth_token="+token);
    

    And this solved the problem. Thanks all