我尝试将text_detection发送到照片。但是,现在发生了奇怪的问题。 我发布非常简单的调试程序。
流程是:
1:定义变量(照片,谷歌存储路径,愿景&#url)
2:生成承载令牌。将其添加到ServiceToken。 (参考文献:https://cloud.google.com/vision/docs/auth)
3:rbody是Google Cloud Vision的要求。
4:最后,使用Request模块。如果Vision检测到文本,则输出检测结果的json(正文:~~)。
const request = require('request');
var filePath = "Photo01.jpg";
const imagePath = 'gs://***'+filePath;
const urlvision = 'https://vision.googleapis.com/v1/images:annotate';
var ServiceToken;
ServiceToken = "";
//OCR
let rbody = {
requests: [{
image: {
source: {
imageUri:imagePath
}
},
features: [{type: 'TEXT_DETECTION'}]
}]
};
let headers = {'Content-Type':'application/json'};
console.log(JSON.stringify(rbody));
request.post({
url: urlvision,
headers:headers,
body:JSON.stringify(rbody)
},function(error,response,body){
console.log("body:"+body);
console.log("error:"+error);
}).auth(null,null,true,ServiceToken);
在我的本地电脑中,我确认该程序正常工作。因此,我将云功能中的firebase存储处理程序与此程序结合起来。但是,在Cloud函数中,请求模块输出了此错误。
error:TypeError: The header content contains invalid characters
我无法理解这个错误。我认为这个错误表示标题。但标题的变量不会被修改。为什么请求模块的行为在云功能中发生变化?有谁知道细节?