1
這是我在這裏看到的一個代碼,它使用視頻ID從youtube獲取單個視頻的數據。但是,我似乎無法從URL中獲得「標題」。它在我的瀏覽器中工作,但在我正在開發的android應用程序中,它沒有。代碼有什麼問題?如何從此API提取「標題」?
private class RequestTask extends AsyncTask<String, String, String> {
// make a request to the specified url
@Override
protected String doInBackground(String... uri) {
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
String responseString = null;
try {
// make a HTTP request
response = httpclient.execute(new HttpGet(uri[0]));
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
responseString = out.toString();
} else {
// close connection
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (Exception e) {
Log.d("Test", "Couldn't make a successful request!");
}
return responseString;
}
@Override
protected void onPostExecute(String response) {
super.onPostExecute(response);
try {
// convert the String response to a JSON object
JSONObject jsonResponse = new JSONObject(response);
Toast.makeText(getActivity(), jsonResponse.getString("title"), Toast.LENGTH_SHORT).show();
// fetch the array of movies in the response
JSONArray jArray = jsonResponse.getJSONArray("movies");
} catch (JSONException e) {
Log.d("Test", "Couldn't successfully parse the JSON response!");
}
}
}
這裏順便API,
https://www.googleapis.com/youtube/v3/videos?id=P3mAtvs5Elc&key=<INSERT_API_SERVER_KEY_HERE>&fields=items(id,snippet(description,channelId,title,categoryId),statistics)&part=snippet,statistics
而不是'jsonResponse.getString(「title」)'嘗試使用'js onResponse.getJSONObject( 「標題」)。的toString()'。 –
將您的回覆記錄爲日誌。發佈您收到的回覆或異常。 –