gpt4 book ai didi

java - Google Cloud Vision API - 如何启用服务帐户

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:14 31 4
gpt4 key购买 nike

我正在努力了解 GoogleVision API Java 库。

我已经创建了一个服务帐户,下载了 json 并设置了这个环境变量。

GOOGLE_APPLICATION_CREDENTIALS=C:\GoogleAPI\keys\translate-41428d4d1ec6.json

我已使用以下方式设置应用程序默认凭据:

gcloud beta auth application-default login

我正在按照这里的示例进行操作: https://cloud.google.com/vision/docs/reference/libraries

我现在假设所有调用都将使用服务帐户,就像变魔术一样,因为我没有在代码中进行任何身份验证(根据示例)。

但是,我看不到我授权服务帐户使用 Google Vision API 的位置,我认为我必须这样做。所以,我可能根本没有使用服务帐户......

当我进入 IAM 并尝试为服务帐户分配“角色”时,没有任何与视觉 API 相关的内容?有

等角色
  • 我如何确定我使用的是服务帐户来调用电话?
  • 当 IAM 中未列出 GoogleVision 等特定 API 时,我需要明确启用哪些服务帐户才能访问它...或者与项目相关的所有服务帐户都可以访问这些 API?

文档中的例子展示了如何

感谢任何帮助。

此外,我对如何调整示例以不使用应用程序默认凭证,而是实际创建一个特定的凭证实例并使用它来调用 Google Vision 感兴趣,因为这还不清楚。给出的示例用于调用 GoogleStorage,但我无法将其转换为 Google Vision。

public class StorageFactory {
private static Storage instance = null;

public static synchronized Storage getService() throws IOException, GeneralSecurityException {
if (instance == null) {
instance = buildService();
}
return instance;
}

private static Storage buildService() throws IOException, GeneralSecurityException {
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = GoogleCredential.getApplicationDefault(transport, jsonFactory);

// Depending on the environment that provides the default credentials (for
// example: Compute Engine, App Engine), the credentials may require us to
// specify the scopes we need explicitly. Check for this case, and inject
// the Cloud Storage scope if required.
if (credential.createScopedRequired()) {
Collection<String> scopes = StorageScopes.all();
credential = credential.createScoped(scopes);
}

return new Storage.Builder(transport, jsonFactory, credential)
.setApplicationName("GCS Samples")
.build();
}
}

不要让我开始浪费 2 个小时,我只是浪费了“访问被拒绝”...这显然是由于图像大小超过 4mb,与凭据无关!

最佳答案

您无需授权服务​​账号访问视觉API。在您的项目中启用 API 并使用与该项目关联的服务帐户就足够了。如果您仍有问题,请告诉我。

关于java - Google Cloud Vision API - 如何启用服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176137/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com