Google Cloud Vision API权限被拒绝

我试图运行示例应用程序,在这里findGithub示例 ,我已经创build了一个证书,并创build一个API密钥,并按照指示应用。 但是,当我上传图像,我得到这个例外。 我不知道我犯了什么错误。 我错过了什么?

failed to make API request because { "code": 403, "errors": [{ "domain": "global", "message": "Requests from this Android client application <empty> are blocked.", "reason": "forbidden" }], "message": "Requests from this Android client application <empty> are blocked.", "status": "PERMISSION_DENIED" } 

Solutions Collecting From Web of "Google Cloud Vision API权限被拒绝"

我有同样的问题。 但是我解决了这个问题

如果您添加浏览器API密钥,您的代码运作良好。

我怀疑你正在创build一个Android API密钥,只限于你的应用程序,注册你的sha1指纹。

这很棒! 不幸的是, 非特定于Android的Google API Java客户端库还没有完全支持android api密钥的API请求,就像android特有的那样。 这意味着API请求不包括一些头部,用于向API端点validation密钥/应用程序,从而导致该错误(请注意错误消息中的client application <empty><empty>将是您的包名称,如果请求按预期形成)。

我仍然在寻找该怎么做 – 将会更新如果/当我find一个。

你在android项目中改变了什么? 确保您启用了云视觉API并启用结算function。 我所要做的就是使用Github中的相同示例在MainActivity中添加我的API密钥。

看看我的截图

这里有一些问题,我修好了!

只要把服务器密钥!

在这里输入图像说明

希望能帮到别人

我相信使用浏览器键将解决您的问题。 但实际的解决scheme是使用OAuth密钥。 就像一个Android应用程序应该做的。

  1. 为此,请从Cloud Developer Console的侧边菜单中转到凭据部分。
  2. 点击凭据下拉菜单,然后selectOAuth客户端ID。
  3. select应用程序types为Android。
  4. 为Cloud Vision API添加一个合适的名称,如Android客户端
  5. 以所需的格式input您的SHA1指纹。 使用屏幕上提到的命令。
  6. input您的应用的软件包名称,可以位于您的Gradle的defaultConfig块中。
  7. 点击创build。

这是在这里完整教程的摘录。