Firebase Cloud function & Cloud Vision API: TypeError: vision.detectText-это не функция
Я пытаюсь использовать API Cloud Vision в облачной функции Firebase для распознавания изображения, хранящегося в хранилище Firebase.
Я импортирую клиентскую библиотеку Google Cloud vision следующим образом
const vision = require('@google-cloud/vision');
А потом я звоню
vision.detectText({ source: { imageUri: 'gs://xxxx.appspot.com/yyyy.JPG' } })
Однако я получаю ошибку
TypeError: видение.detectText-это не функция
Первоначально я использовал
vision.textDetection({ source: { imageUri: ... } })
Из этого примера https://cloud.google.com/vision/docs/reference/libraries#client-libraries-install-nodejs но я получил точно такая же ошибка. Затем я прочитал, что textDetection был заменен detectText, но не более успешно
Заранее спасибо
1 ответ:
Похоже, что вы не вызываете API, как описано в документации. Во-первых, взгляните на пример кода, представленный в документации:
const vision = require('@google-cloud/vision'); // Creates a client const client = new vision.ImageAnnotatorClient(); /** * TODO(developer): Uncomment the following line before running the sample. */ // const fileName = 'Local image file, e.g. /path/to/image.png'; // Performs text detection on the local file client .textDetection(fileName) .then(results => { const detections = results[0].textAnnotations; console.log('Text:'); detections.forEach(text => console.log(text)); }) .catch(err => { console.error('ERROR:', err); });
Сначала нужно создать объект ImageAnnotatorClient, который в качестве метода textDetection() можно вызвать.