当前位置: 首页 > 知识库问答 >
问题:

谷歌云视觉API:Vision。detectText()不接受google drive v3 URI

阮华美
2023-03-14

vision.detectText()在收到由谷歌驱动器v3以webviewLink格式提供的URI时窒息drive.files.get()

我的webViewLink抓取器是:

drive.files.get({
  auth: auth,
  fileId: options.fileID,
  //fields: 'webContentLink'  // <-- downloads the file
  fields: 'webViewLink'       // <-- "views" the file
},function(err, response) {}

回答webViewLink的格式为:

https://drive.google.com/file/d/0Bw4DMtLCtPMkOTlXR1l4Nkw1WGs/view?usp=drivesdk

视力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.' }

将webViewLink URI替换为“传统”形式(如http://www.identifont.com/samples/houseindustries/NeutraText.gif)很好。

请注意,https://cloud.google.com/vision/docs/request#providing_the_imagesez"您可以在请求中提供图像...作为公开访问的HTTP或HTTPS URL"。

驱动器v3 webViewLink格式是否应被视为vision的“可公开访问”格式。detectText()?

如果没有,应如何修改此格式以使其为vision所接受。detectText()支持对google drive托管的图像进行评估?

共有2个答案

巫墨一
2023-03-14

同意迈克的观点,我还对谷歌应用程序脚本到Vision API做了一些研究,因为它们都在谷歌的保护伞下,所以我错误地认为它们可以相互“交谈”(这就是我找到这篇文章的原因)。但它无法工作。我相信这就是谷歌视觉API的本质。

迈克的回答只是一点点补充,如果你通过了身份验证(我相信你必须通过这个,因为你需要将文件上传到谷歌存储),那么你可能不需要指定要在你的应用程序中使用的文件是公开的。

子车桐
2023-03-14

虽然这是一个可公开访问的URL,但不幸的是,它是嵌入图像的页面的URL,而不是图像文件本身的URL。

所以你不能在你的请求中使用谷歌驱动器的URL。你最简单的选择可能是谷歌云存储。。。这里有一个用于上传图像的web UI:

https://console.cloud.google.com/storage/browser

从那一页,你会:

  1. 点击创建桶并按照说明操作(可以接受默认值,只需要创建一个全局唯一的桶名)。
  2. 单击上传文件并选择您的图像。
  3. 上传后,选中文件旁边的复选框,然后单击公开共享。
  4. 单击公共链接(与文件在同一行上)以获取公共URL。
 类似资料:
  • 我想从谷歌云视觉应用编程接口中获取数据,并看到输入可以以Base64和图像uri格式给出。但是Base64似乎太长了,以uri上传图像需要一些额外的时间。请让我知道,如果有人知道这方面的任何其他工作。

  • 我正在尝试Google Cloud Vision API(测试版),它返回“权限被拒绝”消息。但该项目启用了“云视觉API”。感谢您的帮助。 谷歌API浏览器中的错误详细信息

  • 我正在使用谷歌云视觉应用编程接口来搜索类似的图像(网络检测),它工作得很好。谷歌检测完全匹配的图像和部分匹配的图像(裁剪版本)。 我正在寻找一种方法来检测更多不同的版本。例如,当我寻找一个标志时,我想检测这个标志的大、小、方形、矩形...版本。目前,我检测到与我上传和裁剪版本完全匹配的图像。 你知道这是否可能,我该怎么做?

  • 我是谷歌API的新手。最近,我使用了Google Vision API,但遇到了以下问题: 我尝试了“创建服务帐户”的解决方案,以生成服务json键并在py中调用它。脚本,它将在几乎3~4个url中首先工作,但在下一个url中会出错。这是我的检测代码: 我在另一个py中调用“detect.py”。脚本:

  • 我正在尝试使用Google Cloud Vision API来检测图像中的文本,我遵循了以下教程中的代码:https://cloud.google.com/vision/docs/fulltext-annotations 完整代码如下: 我将Windows 10与Python 3.7一起使用,并在命令提示符中使用以下代码: 我得到了以下错误和回溯: 我已经浏览了以前关于这个错误的帖子,但我不知道这