5

我正在开发一个需要使用谷歌云平台提供的谷歌视觉服务的安卓应用程序。对于身份验证,这使用类GoogleCredential类,其代码可在此处找到:

https://cloud.google.com/vision/docs/label-tutorial#authenticating

我需要将GOOGLE_APPLICATION_CREDENTIALS变量设置为指向从另一个链接下载的 json 文件的环境变量,这并不重要。

问题是:当我使用设置环境变量时

Uri otherPath = Uri.parse("android.resource://com.example.himanshu.myapplication/DtnPhotoShare-ff552ae2c96c.json");
    System.setProperty("**GOOGLE_APPLICATION_CREDENTIALS**",otherPath.toString());

它给了我例外

java.io.IOException:应用程序默认凭据不可用。如果在 Google App Engine、Google Compute Engine 或 Google Cloud Shell 上运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。

排队

GoogleCredential credential =
                GoogleCredential.getApplicationDefault().createScoped(VisionScopes.all());

所有代码都可以在上面给出的链接中找到。

4

1 回答 1

0

您需要磁盘上的服务密钥和基于 linux 的机器,您可以

export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_credential_file>

或者将其添加到~/.bashrc(位于您的主目录中)文件并获取它,以便库可以访问此环境变量。

于 2017-01-04T13:18:20.740 回答