Google Document AI API Node.js集成报错(RESOURCE_PROJECT_INVALID)求助
解决Google Document AI API的RESOURCE_PROJECT_INVALID错误
你遇到的错误如下:
Error: Error: 3 INVALID_ARGUMENT: Invalid resource field value in the request.
错误详情中明确标注reason: 'RESOURCE_PROJECT_INVALID',说明请求中的资源字段存在问题,结合你的代码,核心问题出在parent和processorId两个参数上:
问题分析
- parent参数格式错误:
Document AI要求parent参数必须遵循projects/{PROJECT_ID}/locations/{具体区域}的格式,其中区域需要是GCP的具体可用区(如us-central1、eu-west1),而不是宽泛的us。你当前的parent值区域部分不符合要求。 - processorId取值错误:
processorId是你在GCP控制台创建的Document AI处理器的专属ID,不是项目ID。你现在把项目ID当作processorId传入,导致系统无法找到对应的处理器资源。
修复后的代码示例
//documentAI const path = require('path'); // 补充path模块的引入(原代码遗漏) const { DocumentProcessorServiceClient } = require('@google-cloud/documentai').v1; const keyFilename = path.join(__dirname,"../../src/credentials/documentApp.json"); // 初始化Document AI客户端 const client = new DocumentProcessorServiceClient({ keyFilename: keyFilename, }); async function procesarDocumentoConAI(document) { try { // 替换为你的实际项目信息 const projectId = '你的GCP项目ID'; const location = 'us-central1'; // 替换为创建处理器时选择的区域 const processorId = '你的Document AI处理器ID'; // 从GCP控制台获取 const request = { parent: `projects/${projectId}/locations/${location}`, processorId: processorId, inputConfig: { content: document, // 确保document是PDF文件的Buffer对象 mimeType: 'application/pdf', }, }; const [response] = await client.processDocument(request); if (response && response.text) { const text = response.text; const isINE = text.includes('INE') || text.includes('Instituto Nacional Electoral'); if (isINE) { console.log('El documento contiene una INE mexicana.'); return true; } else { console.log('El documento no contiene una INE mexicana.'); return false; } } else { console.log('No se encontró texto en el documento.'); return false; } } catch (error) { console.error('Error:', error); } }
额外验证步骤
- 确认你的服务账号密钥文件(documentApp.json)拥有
documentai.processorUser角色权限,确保能调用处理器。 - 从GCP控制台的Document AI页面,找到已创建的处理器,复制正确的processorId和对应的区域信息。
- 确保传入的
document参数是PDF文件的Buffer对象(例如通过fs.readFileSync('文件路径')获取)。
内容的提问来源于stack exchange,提问作者David32Peralta
相关产品推荐
相关产品推荐

