【问题标题】:android: how to get user photos in Instagram?android:如何在 Instagram 中获取用户照片?
【发布时间】:2012-09-20 04:11:38
【问题描述】:

在我的应用中,我的要求是获取用户照片并在我的应用中显示。

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

我的代码是:

 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);
}

【问题讨论】:

    标签: android instagram


    【解决方案1】:

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

     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();
            }
    
        }
    

    【讨论】:

    • 它适用于我。但是,accessToken 呢?我可以在我的应用程序中使用一个固定的 accessToken 来让太多用户使用相同的 accessToken 获取图像(具有相同 AccessToken 的并发访问)
    • 您必须从您的客户端 ID 和密码生成访问令牌,并在您的应用中使用该访问令牌
    • 我可以使用这个 AccessToken 硬编码到我的应用程序中,以使所有用户都可以使用这个访问令牌的应用程序吗?这会对大量用户造成任何问题吗?
    • @SubbaReddyPolamReddy 这个 PhotoSet 是你创建的一个类?
    • 这两行指的是什么 PhotoSet set = new PhotoSet();和 thesets.add(set);
    【解决方案2】:

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

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

    【讨论】:

    • 我没有从中得到任何想法,请详细说明这个网址
    • 这里 USER_ID 表示用户名或 client_id...请以 url 方式提供..
    • 我可以生成一个 accessToken 用于多个用户吗? @SubbaReddyPolamReddy,
    猜你喜欢
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多