【问题标题】:Where to set GOOGLE_APPLICATION_CREDENTIALS variable in android project?在 android 项目中在哪里设置 GOOGLE_APPLICATION_CREDENTIALS 变量?
【发布时间】:2016-10-24 18:32:54
【问题描述】:

我正在开发一个需要使用谷歌云平台提供的谷歌视觉服务的安卓应用程序。 对于身份验证,它使用类 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());

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

【问题讨论】:

  • 你有解决方案吗

标签: android google-cloud-vision


【解决方案1】:

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

export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_credential_file>

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多