0

誰かが私を正しい方向に向けたり、UnirestなしでAPIキーを使用してMashapeにリクエストを行う方法を示したりできますか?

HttpURLConnection クラス、またはおそらく OkHttp や Volley などの Android REST ライブラリを使用して、Mashape API への JSON リクエストを作成したいと考えていますが、リクエストを構造化する方法、または Mashape の Unirest ライブラリを使用せずにそれが可能かどうかさえわかりません。

これは、Unirest リクエストを作成するために推奨される方法です。

HttpResponse<JsonNode> response = Unirest.get("https://wordsapiv1.p.mashape.com/words/incredible/definitions")
  .header("X-Mashape-Key", "**********apikey************")
  .header("Accept", "application/json")
  .asJson();

設定するのが面倒なようで、偉大な CommonsWare 自身が Android では Unirest を避けるべきだと述べているので、私は Unirest を避けようとしています: Gradle 経由で Unirest をインポートする android studio プロジェクトの例はありますか?

私は実際に、この質問の初心者と同じ API を同じ状況で使用しようとしています: Trying to fetch JSON with Android using Unirest

4

1 に答える 1

0

私の答えはあなたが探しているものだと思います。

Volley ライブラリを使用しました。依存関係を追加する必要があります。compile 'com.android.volley:volley:1.0.0'

RequestQueue requestQueue = Volley.newRequestQueue(this);
String uri = Uri.parse("https://wordsapiv1.p.mashape.com/words/incredible/definitions")
    .buildUpon()
    .build().toString();

StringRequest stringRequest = new StringRequest(
    Request.Method.GET, uri, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d("MainActivity", "response: " + response);
        }

    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("VolleyError", error.toString());
        }

    }) {

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String>  params = new HashMap<>();
            params.put("X-Mashape-Key", "<API_KEY>");
            params.put("Accept", "text/plain");
            return params;
        }
    };
    requestQueue.add(stringRequest);
于 2016-12-15T08:14:50.500 に答える