谷歌云视觉API:vision.detectText()不接受谷歌驱动器v3 URI
vision.detectText()当传递由web驱动器v3以webviewLink格式提供的URI从drive.files.get()获得的扼流圈谷歌云视觉API:vision.detectText()不接受谷歌驱动器v3 URI
我webViewLink采集是:
drive.files.get({
auth: auth,
fileId: options.fileID,
//fields: 'webContentLink' // <-- downloads the file
fields: 'webViewLink' // <-- "views" the file
},function(err, response) {}
response.webViewLink的格式为:
https://drive.google.com/file/d/0Bw4DMtLCtPMkOTlXR1l4Nkw1WGs/view?usp=drivesdk
vision.detectText(response.webViewLink)与电抗器:
ERROR: { PartialFailureError: A failure occurred during this request.
at /Users/node_modules/@google-cloud/vision/src/index.js:434:15
at /Users/node_modules/@google-cloud/vision/src/index.js:126:5
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
errors:
[ { image: 'https://drive.google.com/file/d
/0Bw4DMtLCtPMkOTlXR1l4Nkw1WGs/view?usp=drivesdk',
errors: [Object] } ],
response: { responses: [ [Object] ] },
message: 'A failure occurred during this request.' }
用“传统”表单(如http://www.identifont.com/samples/houseindustries/NeutraText.gif)取代webViewLink URI工作正常。
请注意,https://cloud.google.com/vision/docs/request#providing_the_image表示“您可以在您的请求中提供图片...作为可公开访问的HTTP或HTTPS URL”。
Drive v3 webViewLink格式是否应视为vision.detectText()的“公开访问”?
如果没有,该格式如何修改为vision.detectText()支持对谷歌驱动器托管的图像进行评估可以接受?
虽然这是一个可公开访问的URL,但不幸的是它是嵌入了图像的页面的URL,而不是图像文件本身的URL。
因此,您无法在您的请求中使用Google云端硬盘网址。你最简单的选择可能是谷歌云存储......有一个网络界面来上传你的图片,在这里:
https://console.cloud.google.com/storage/browser
在这个页面,你会:
- 点击创建桶并按照说明操作(您可以接受默认设置,您只需创建一个全局唯一的存储桶名称)。
- 点击上传文件并选择您的图片。
- 上传后,选中该文件旁边的复选框,然后点击公开分享。
- 点击公共链接(与文件在同一行)获取公共URL。
迈克同意,我也做了谷歌应用程序脚本一些研究,以视觉API,因为它们都是在谷歌伞,所以我做了一个错误的假设,他们可以“交谈”对方(这就是为什么我发现这篇文章)。但它不能工作。我相信这是Google Vision API的本质。
Mike的答案只是一点点的附加,如果你通过身份验证(我相信你必须经历这个,因为你需要上传文件到谷歌存储),那么你可能不需要指定文件将被公开用于您的应用程序。
我在下面添加了一个答案 - 但是webContentLink返回了什么?这是一个文件的URL? –