Okhttp3 Application/Json Get Kotlin

Source URL: https://code.luasoftware.com/tutorials/android/android-make-http-request-with-okhttp/

Language: javascript

Created on: 2020-08-31 14:54:52

val BASE_URL = "https://api.unsplash.com"
val ACCESS_KEY = "..."

val path = "/photos/$id"
val uri = Uri.parse(BASE_URL)
    .buildUpon()
    .appendEncodedPath(path)
    //.appendPath(path)
    .build()

val client = OkHttpClient()
val request = Request.Builder()
    .url(uri.toString())
    .addHeader("Accept-Version", "v1")
    .addHeader("Authorization", "Client-ID $ACCESS_KEY")
    .get()
    .build()

val response = client.newCall(request).execute()
val jsonDataString = response.body()?.string()

val json = JSONObject(jsonDataString)
if (!response.isSuccessful) {
    val errors = json.getJSONArray("errors").join(", ")
    throw Exception(errors)
}
val rawUrl = json.getJSONObject("urls").getString("raw")
Dependencies // implementation "com.squareup.okhttp3:okhttp:3.14.2" implementation "com.squareup.okhttp3:okhttp:4.0.0" NOTE: ProGuard Configuration JSON Get Request val BASE_URL = "https://api.unsplash.com" val ACCESS_KEY = "..." val path = "/photos/$id" val uri = Uri.parse(BASE_URL) .buildUpon() .appendEncodedPath(path) //.appendPath(path) .build() val client = OkHttpClient() val request = Request.Builder() .url(uri.toString()) .addHeader("Accept-Version", "v1") .addHeader("Authorization", "Client-ID $ACCESS_KEY") .get() .build() val response = client.newCall(request).execute() val jsonDataString = response.body()?.string() val json = JSONObject(jsonDataString) if (!response.isSuccessful) { val errors = json.getJSONArray("errors").join(", ") throw Exception(errors) } val rawUrl = json.
content_copy