android:如何在Instagram上获取用户照片?

时间:2012-09-20 04:11:38

标签: android instagram

在我的应用中,我的要求是让用户拍照并在我的应用中显示。

为了我的身份验证,获取访问令牌并输入用户名密码,但这表明您无权打开此页面。接下来我如何获得用户个人资料和照片。

这里我的代码是:

 String url ="https://instagram.com/oauth/authorize?" +"response_type=token" + 
 "&redirect_uri=" + CALLBACK_URL+"&scope=basic"+"&client_id=" + CLIENT_ID ;

  WebView webview = (WebView)findViewById(R.id.webview);

  webview.setWebViewClient(new WebViewClient() {

        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            String fragment = "#access_token=";
            int start = url.indexOf(fragment);
            if (start > -1) {

                // You can use the accessToken for api calls now.
                String accessToken = url.substring(start + fragment.length(), url.length());

                Log.v(TAG, "OAuth complete, token: [" + accessToken + "].");
                Log.i(TAG, "" +accessToken);
Toast.makeText(ActivityWebView.this, "Token: " + accessToken, Toast.LENGTH_SHORT).show();
            }
        }
    });

    webview.loadUrl(url);
}

2 个答案:

答案 0 :(得分:10)

试试这个代码,我得到了解决方案:

 URL example = new URL("https://api.instagram.com/v1/users/self/media/recent?access_token="
                            + accessToken);

            URLConnection tc = example.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    tc.getInputStream()));

            String line;
            while ((line = in.readLine()) != null) {
                JSONObject ob = new JSONObject(line);

                JSONArray object = ob.getJSONArray("data");

                for (int i = 0; i < object.length(); i++) {


                    JSONObject jo = (JSONObject) object.get(i);
                    JSONObject nja = (JSONObject) jo.getJSONObject(photos);

                    JSONObject purl3 = (JSONObject) nja
                            .getJSONObject("thumbnail");
                    Log.i(TAG, "" + purl3.getString("url"));
                }

            }
        } catch (MalformedURLException e) {

            e.printStackTrace();
        } catch (IOException e) {

            e.printStackTrace();
        } catch (JSONException e) {

            e.printStackTrace();
        }

    }

答案 1 :(得分:2)

获取/users/[USER_ID]/media/recent/?access_token=[ACCESS_TOKEN]

您可以点击此网址获取用户的Feed(最近20张照片)。这将为您提供一个JSON数组,然后您需要在应用程序中根据需要进行解析和显示。