Android 从Foursquare获取场馆类别时出现java.io.FileNotFoundException

Android 从Foursquare获取场馆类别时出现java.io.FileNotFoundException,android,foursquare,Android,Foursquare,我一直在尝试用Foursquare API构建一个Android应用程序。我希望我的用户是匿名的,这样就不会有身份验证。如上所述: 我找到了场地类别(“https://api.foursquare.com/v2/venues/categories)是场馆平台端点,因此我获取了如下类别: private static final String API_URL = "https://api.foursquare.com/v2"; private static final String

我一直在尝试用Foursquare API构建一个Android应用程序。我希望我的用户是匿名的,这样就不会有身份验证。如上所述:

我找到了场地类别(“https://api.foursquare.com/v2/venues/categories)是场馆平台端点,因此我获取了如下类别:

    private static final String API_URL = "https://api.foursquare.com/v2";
    private static final String VENUE_CATEGORY = "/venues/categories";

                URL url = new URL(API_URL + VENUE_CATEGORY);

                Log.d(TAG, "Opening URL " + url.toString());

                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

                urlConnection.setDoInput(true);
                urlConnection.setDoOutput(true);

                urlConnection.connect();

                String response     = streamToString(urlConnection.getInputStream());
                JSONObject jsonObj  = (JSONObject) new JSONTokener(response).nextValue();

                JSONObject resp     = (JSONObject) jsonObj.get("response");
                JSONArray category  =  resp.getJSONArray("categories");

                JSONObject sample   = category.getJSONObject(0);
                mCategoryName       = sample.getString("name");
我得到
java.io.FileNotFoundException:https://api.foursquare.com/v2/venues/categories


我还需要首先在这里获取访问令牌吗?

你是对的,你可以在不进行身份验证的情况下访问
场馆/类别
端点,但要做到这一点,你需要向API调用提供你的客户端ID和客户端机密作为参数,以便Foursquare知道是你的应用程序访问端点

您可以注册一个应用程序来获取客户端ID和密码(如果您还没有),然后如果您将详细信息添加到url,您应该能够访问端点:

private static final String API_URL = "https://api.foursquare.com/v2";
private static final String VENUE_CATEGORY = "/venues/categories";
private static final String CLIENT_INFO = "client_id=YOURCLIENTID&client_secret=YOURCLIENTSECRET"

URL url = new URL(API_URL + VENUE_CATEGORY + "?" + CLIENT_INFO);

希望有帮助。

thx,它能工作!顺便问一下,你认为用Foursquare API构建匿名LBS可行吗?我可以匿名,有认证和没有认证,对吗?
private static final String API_URL = "https://api.foursquare.com/v2";
private static final String VENUE_CATEGORY = "/venues/categories";
private static final String CLIENT_INFO = "client_id=YOURCLIENTID&client_secret=YOURCLIENTSECRET"

URL url = new URL(API_URL + VENUE_CATEGORY + "?" + CLIENT_INFO);