React-Native-Firebase报错:cloudDocumentTextRecognizerProcessImage不是函数
解决
cloudDocumentTextRecognizerProcessImage调用时的权限错误 问题概述
调用ml().cloudDocumentTextRecognizerProcessImage(media.uri)实现文字识别时触发PERMISSION_DENIED权限错误,涉事代码如下:
const onImageSelect = async (media) => { if (!media.didCancel) { // Text Recognition Process setImage(media.uri); const processingResult = await ml().cloudDocumentTextRecognizerProcessImage(media.uri); console.log(processingResult); setResult(processingResult); setLicenseNumber(processingResult); } };
修复步骤
- 启用Google Cloud文档AI API:登录Google Cloud控制台,找到「Cloud Document AI API」,确认服务已启用,未启用则点击激活。
- 配置API密钥权限:在控制台「API和服务 > 凭据」页面,找到当前使用的API密钥,为其添加「Document AI User」角色,确保密钥拥有调用该API的权限。
- 检查网络与密钥配置:确保设备可正常访问Google Cloud服务,无代理或防火墙拦截;同时确认项目配置文件(如
app.json)中已正确填入有效API密钥。 - 验证图片路径格式:部分平台要求传入文件对象而非URI,可尝试转换格式后调用:
const file = new File([await fetch(media.uri).then(res => res.blob())], "image.jpg"); const processingResult = await ml().cloudDocumentTextRecognizerProcessImage(file);
内容的提问来源于stack exchange,提问作者Odium
相关产品推荐
相关产品推荐

