0

すべてのフォロワーを一覧表示するアプリケーションを 1 つ作成します。そのためには、Twitter APIを渡す必要があります。

https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=twitterapi

そして私はそれに取り組みました、私はそれからの応答を得るために以下のコードを試します、

HttpPost post = new HttpPost("https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=twitterapi");
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();

String responseText = EntityUtils.toString(entity);
Log.i(TAG,"Response---"+responseText);

そのログは次のように出力されます。

Response---{"error":"\u0907\u0938 \u0935\u093f\u0927\u093f \u0915\u094b \u091c\u0940\u0908\u091f\u0940 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u0948.","request":"\/1\/followers\/ids.json?cursor=-1&screen_name=twitterapi"}

Json配列を取得できるように、それから応答を取得する適切な方法を教えてください。

前もって感謝します。

4

1 に答える 1

2

次のコードを使用してください....

まずメインクラスを作成し、

public class FollowersData
{
        String url = "http://api.twitter.com/1/followers/ids.json?screen_name=twitterapi";
        private String[] s;

        public void FollowersIdDetails() 
        {
            InputStream source = retrieveStream(url);
            Gson gson = new Gson();
            Reader reader = new InputStreamReader(source);
            SearchResponse response = gson.fromJson(reader, SearchResponse.class);
            s = response.getTwitterUserId();
        }

        private InputStream retrieveStream(String url) 
        {
            DefaultHttpClient client = new DefaultHttpClient(); 
            HttpGet getRequest = new HttpGet(url);

            try 
            {
                   HttpResponse getResponse = client.execute(getRequest);
                   final int statusCode = getResponse.getStatusLine().getStatusCode();

                   if (statusCode != HttpStatus.SC_OK) 
                   { 
                          Log.w(getClass().getSimpleName(), "Error " + statusCode + " for URL " + url); 
                          return null;
                   }
                   HttpEntity getResponseEntity = getResponse.getEntity();
                   return getResponseEntity.getContent();
            } 
            catch (IOException e) 
            {
                   getRequest.abort();
                   Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
            }
            return null;
         }
}

解析用の 2 番目のクラスを作成するよりも、

public class SearchResponse 
{
        @SerializedName("ids")
        private String[] twitterUserId;

        public String[] getTwitterUserId() 
        {
            return twitterUserId;
        }
        public void setTwitterUserId(String[] twitterUserId) 
        {
            this.twitterUserId = twitterUserId;
        }
}

最後に、メインクラスで応答(String [] s)を取得します.... :)

于 2012-03-16T13:06:14.993 に答える