I\'m attempting to return some data from an API using OkHttpClient in com.squareup.okhttp. I\'ve run into a few errors that i have eventually been able to overcome but i can\'t
Since you have not posted your code that how your connect()
called, so please refer to my following working code
private class StringRequest extends AsyncTask {
@Override
protected String doInBackground(Void... voids) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://socialweb-analytics.lcloud.com/api/public/reports/jobs?companyKey=ato")
.addHeader("authorization", "Basic c2RidXNpbmVzc2FuYWx5dGljc0BhdG8uZ292LmF1OkFuYWx5dGljezEh")
.addHeader("cache-control", "no-cache")
.addHeader("postman-token", "65ef5553-77b5-053f-9c01-4fdf76bdc92f")
.build();
try {
Response response = client.newCall(request).execute();
return response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
System.out.println(s);
}
}
Then inside onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.textView);
new StringRequest().execute();
}
My app run and got the following result (perhaps because of expired/invalid token):
I/System.out: {"code":500,"message":"There was an error processing your request. It has been logged (ID a2f28b587b2f9dcc)."}
P/S: make sure you have set
inside AndroidManifest.xml
file