首页 > 解决方案 > 如何设置环境变量 GOOGLE_APPLICATION_CREDENTIALS?

问题描述

我知道以前有人问过这类问题,我已经解决了这个问题,但仍然面临这个问题。我正在使用这个例子。但是当我运行我的代码时,我得到了以下异常

无法检测我们是否在 Google Compute Engine 上运行。java.net.ConnectException:无法在 com.android.okhttp.internal.io.RealConnection 的 com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143) 连接到 /169.254.169.254:80。在 com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184) 在 com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) 连接(RealConnection.java:112)在 com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) 在 com.android.okhttp.internal.http。doInBackground(MainActivity.java:61) at android.os.AsyncTask$2.call(AsyncTask.java:333) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1 .run(AsyncTask.java:245) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 在 java.lang。 Thread.run(Thread.java:764) W/System.err: java.io.IOException: 应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。看https://developers.google.com/accounts/docs/application-default-credentials了解更多信息。W/System.err:在 com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:119) W/System.err:在 com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:127) W/System.err:在 com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:100) W/System.err:在 com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java: 53) W/System.err:在 com.google.api.gax.rpc.ClientContext.create(ClientContext.java:134) W/System.err:在 com.google.cloud.dialogflow.v2.stub.GrpcSessionsStub。 create(GrpcSessionsStub.java:75) W/System.err: at com.google.cloud.dialogflow.v2.stub.SessionsStubSettings.createStub(SessionsStubSettings.java:100) W/System.err: at com.

从哪里可以在android studio中设置环境变量,我是windows用户

标签: androidgoogle-cloud-platformdialogflow-es

解决方案


从错误

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

有关更多信息,请参阅 https://developers.google.com/accounts/docs/application-default-credentials

您可能需要在环境变量 path 中添加它GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json。并且应该从这里获取 json 文件https://cloud.google.com/docs/authentication/getting-started。此外,如果您不知道如何设置环境变量路径,您可以查看此https://www.computerhope.com/issues/ch000549.htm


推荐阅读