2012-03-20 10 views
1

その内容を受けて、私は .jsonタイプのこのURI http://data.seattle.gov/api/views/vncn-umqp/rows.jsonを持っており、オブジェクトのdata一部を取得するためのGETリクエストを作りたい(の後半を参照してください「データ」のあるページ)をプロット目的に使用します。はJavaでURIを.jsonにGET要求を行うと

問題は、私は成功した200応答を受信するHttpURLConnectionURLURLConnectionまたはConnectionまたは他の同様のリソースを使用するかどうかわからないです。さらに、このURIのドメインは要求のためにREST API right hereを提供していますが、ドキュメントの矛盾が原因です(たとえば、ユーザー資格情報をエンコードするためにsun.Base64Encoderを使用しています。これは使用または使用できません)。データ取得のために単独で使用できます。

誰でも提供できます(つまり、これだけ特定のURIからデータを読み出すために必要である1)

を彼らはまた、APIキーで認証方法を使用しますが、私はタスクの簡略化のために仕事をしているかわからないです

私はそのような要求をする方法の解決策?

答えて

3

Apache HttpClientを使用して、Android APIに含まれるWebリソースへのリクエストを行うことができます。 GETリクエストを発行するのは簡単です。

HttpGet get = new HttpGet("http://data.seattle.gov/api/views/vncn-umqp/rows.json"); 

HttpClient client = new DefaultHttpClient(); 
HttpResponse response = client.execute(get); 
System.out.println(response.getStatusLine()); 

次に、JSONライブラリを使用して応答を解析できます。クライアントは、他のHTTP動詞(POSTPUTDELETE ...)もサポートしています。あなたの質問の後半部分に関しては

、それはこのREST APIは、あなたがリンクされたWebサービスの同じプロバイダによって提供されていたことを暗示するように見えたので、それはやや混乱だったが、そうではありません。また、実際にはREST クライアント APIであることはすぐには分かりませんでした。それをクリアするためにあなたの質問を更新したいかもしれません。トピックについては、複雑なRESTクライアントAPIを使用する必要はありません.HttpClientでコンテンツにアクセスし、JSONライブラリで処理するだけです。

幸運を祈る!

+0

ありがとうございました!それは私に200 OK! REST APIについて、なぜ彼らはアプリケーショントークンのパラメータやものを持つ独自の認証 'HttpConnection'クラスを設定したと思いますか?私はapptokenを持っていますが、私はデータを読んで地図上にプロットしたいだけなので、必要はないと思います。データベースにデータを書き出していない限り、認証はもっと役に立たないようです。 – jmishra

+0

私はAPIに精通していないので、話すことはできません。私は、HttpClientを使用することで、基本認証とダイジェスト認証を行うことができ、SSLをサポートし、いくつかの助けを借りてOAuthを行うことができます。リンクしたAPIは、さまざまなテクノロジの上にシンプルなレイヤを配置しようとしている可能性がありますが、私が言ったように、以前はそれを使用していませんでした。 – Perception

1

GoogleのGsonライブラリを使用してJSONファイルを操作することをおすすめします。

http://code.google.com/p/google-gson/

それはあなたのプロジェクトに統合することは非常に簡単で、JSONファイルの内容を解析するために多くのあなたの仕事を容易にします。

関連する問題