Я пытался разработать приложение, которое возвращает первый результат видео по ключевому слову (а также получает информацию о его содержании).Это делается несколько раз за сеанс (скажем, как 30 раз).Если все, что я делаю, это каждый раз считываю данные из 1 результата (из раздела «Расчет использования квот» в их документах ), то почему я использую все 10000 моих ежедневных единиц снесколько тестовых прогонов моего приложения?
Вот мой конкретный код:
private class GetVideoDuration extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String sURL = "https://www.googleapis.com/youtube/v3/videos?id=" + params[0] + "&part=contentDetails&key=" + API_KEY;
String var = null;
try {
// Connect to the URL using java's native library
URL url = new URL(sURL);
URLConnection request = url.openConnection();
request.connect();
// Convert to a JSON object to print data
JsonParser jp = new JsonParser(); //from gson
JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent())); //Convert the input stream to a json element
Log.d("rootJSON", root.toString());
Log.d("urlJSON", url.toString());
JsonObject video = null;
try {
video = root.getAsJsonObject().get("items").getAsJsonArray().get(0).getAsJsonObject().get("contentDetails").getAsJsonObject();
} catch (IndexOutOfBoundsException e) {
e.printStackTrace();
Log.e("Chief", "It looks like we've exceeded our quota for the day :(");
}
var = video.get("duration").getAsString();
} catch (IOException e) {
e.printStackTrace();
// contDets = contentDetails
Log.d("Error parsing contDets", e.getMessage());
ERROR_STATE = true;
}
return var;
}
}
Мне известен вариант подать заявку на более высокую квоту, но кажется, что что-то не так.Любая помощь будет принята с благодарностью.