为什么在YouTube数据API中使用“搜索”功能会占用我太多的配额?

时间:2019-02-08 23:00:27

标签: android youtube-data-api

我一直在尝试开发一个应用程序,该应用程序将返回关键字的第一个视频结果(以及获取其内容详细信息)。在一个会话中多次执行此操作(比如说30次)。如果我所做的只是每次都从1个结果中读取数据(来自their docs的“计算配额使用情况”部分),那为什么我几次测试运行就用完了全部10,000个每日单位我的申请?

这是我的特定代码:

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;
        }
    }

我知道可以申请更高的配额,但这似乎是有问题的。任何帮助将不胜感激。

0 个答案:

没有答案