Вызов API остального видео-интеллекта в JAVA

Я пытался вызвать остальные API видео-разведки через Java-программу, чтобы аннотировать локальный файл. Вот мой код:

        byte[] data = Files.readAllBytes(path);
        byte[] encodedBytes = Base64.encodeBase64(data);

        URIBuilder builder = new URIBuilder("https://videointelligence.googleapis.com/v1beta2/videos:annotate");
        URI uri = builder.build();
        HttpPost request = new HttpPost(uri);
        request.setHeader("Content-Type", "application/json");
        request.setHeader("X-Goog-Api-Key",MyKey);

        JSONObject json = new JSONObject();
        JSONArray jsonArray = new JSONArray();
        jsonArray.put("LABEL_DETECTION");
        json.put("inputContent", encodedBytes);
        json.put("features", jsonArray);

        StringEntity reqEntity = new StringEntity(json.toString());
        request.setEntity(reqEntity);
        HttpResponse response = httpclient.execute(request);
        HttpEntity entity = response.getEntity();

Я получаю эту ошибку: "error": { "code": 400, "message": "Получена недопустимая полезная нагрузка JSON. Неизвестное имя \"input_content\": поле Proto не повторяется, не может начать список.

Может ли кто-нибудь помочь мне с этой ошибкой, пожалуйста? благодарю вас

1 ответ

Решение

Сообщение об ошибке не очень полезно. Проблема в том, что inputContent должен быть String вместо byte[], Это сработало для меня:

String str = new String(encodedBytes, "UTF-8");
requestJson.put("inputContent", str);
Другие вопросы по тегам