如何设置环境变量GOOGLE_APPLICATION_CREDENTIALS? [英] How can i set the environment variable GOOGLE_APPLICATION_CREDENTIALS?

查看:399
本文介绍了如何设置环境变量GOOGLE_APPLICATION_CREDENTIALS?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这类问题以前曾被问过,我已经经历过,但仍然面临着这个问题。我正在使用此示例。但是,当我运行代码时,却遇到了异常

I know this type of question has been asked before and i have gone through this but still facing this issue. I was using this example . But while i run my code i got following exception


无法检测我们是否在Google Compute Engine上运行。
java.net.ConnectException:无法在com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)
连接到/169.254.169.254:80
com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
在com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
在com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
在com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
在com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
在com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:104)
在com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)
在com.google.auth.oauth2.ComputeEngineCredentials.runningOnComputeEngine(ComputeEngineCredentials.java:191)
在com.google.auth.oauth2.DefaultCredentialsProvider.tryGetComputeCredentials(DefaultCredentialsProvider.java:270)
在com。 .google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentialsUnsynchronized(DefaultCredentialsProvider.java:194)
在com.google上。 auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:112)
在com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:127)
在com.google.auth.oauth2。 GoogleCredentials.getApplicationDefault(GoogleCredentials.java:100)
在com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:53)
在com.google.api.gax.rpc。 ClientContext.create(ClientContext.java:134)
在com.google.cloud.dialogflow.v2.stub.GrpcSessionsStub.create(GrpcSessionsStub.java:75)
在com.google.cloud.dialogflow。 v2.stub.SessionsStubSettings.createStub(SessionsStubSettings.java:100)
在com.google.cloud.dialogflow.v2.SessionsClient。(SessionsClient.java:132)
com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:114)
com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:106)
在com.example.lpt_0096.dialogflowv2.MainActivity $ MyAsync.detectIntentStream(MainActivity.java:76)
在com.example.lpt_0096.dialogflowv2.MainActivity $ MyAsync.doInBackground(MainActivity.java:61)
在android.os.AsyncTask $ 2.call(AsyncTask.java:333)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)
在android.os.AsyncTask $ SerialExecutor $ 1 .run(AsyncTask.java:245)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
在java.util.concurrent.ThreadPoolExecutor $ Worker.r Un(ThreadPoolExecutor.java:636)
at 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 -凭证以获取更多信息。
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:位于com.google.cloud.dialogflow .v2.stub.SessionsStubSettings.createStub(SessionsStubSettings.java:100)
W / System.err:at com.google.cloud.dialogflow.v2.SessionsClient。(SessionsClient.java:132)
W /System.err:位于com.google.cloud.dialogflow.v2.S essionsClient.create(SessionsClient.java:114)
W / System.err:位于com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:106)
W / System.err :位于com.example.lpt_0096.dialogflowv2.MainActivity $ MyAsync.detectIntentStream(MainActivity.java:76)
W / System.err:位于com.example.lpt_0096.dialogflowv2.MainActivity $ MyAsync.doInBackground(MainActivity.java :61)
W / System.err:在android.os.AsyncTask $ 2.call(AsyncTask.java:333)
W / System.err:在java.util.concurrent.FutureTask.run( FutureTask.java:266)
W / System.err:在android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:245)
W / System.err:在java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
W / System.err:at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:636)
W / System.err:在java.lang.Thread.run(Thread.java:764)

Failed to detect whether we are running on Google Compute Engine. java.net.ConnectException: Failed to connect to /169.254.169.254:80 at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143) at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:104) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981) at com.google.auth.oauth2.ComputeEngineCredentials.runningOnComputeEngine(ComputeEngineCredentials.java:191) at com.google.auth.oauth2.DefaultCredentialsProvider.tryGetComputeCredentials(DefaultCredentialsProvider.java:270) at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentialsUnsynchronized(DefaultCredentialsProvider.java:194) at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:112) at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:127) at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:100) at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:53) at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:134) at com.google.cloud.dialogflow.v2.stub.GrpcSessionsStub.create(GrpcSessionsStub.java:75) at com.google.cloud.dialogflow.v2.stub.SessionsStubSettings.createStub(SessionsStubSettings.java:100) at com.google.cloud.dialogflow.v2.SessionsClient.(SessionsClient.java:132) at com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:114) at com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:106) at com.example.lpt_0096.dialogflowv2.MainActivity$MyAsync.detectIntentStream(MainActivity.java:76) at com.example.lpt_0096.dialogflowv2.MainActivity$MyAsync.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) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) W/System.err: java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information. W/System.err: at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:119) W/System.err: at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:127) W/System.err: at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:100) W/System.err: at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:53) W/System.err: at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:134) W/System.err: at 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.google.cloud.dialogflow.v2.SessionsClient.(SessionsClient.java:132) W/System.err: at com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:114) W/System.err: at com.google.cloud.dialogflow.v2.SessionsClient.create(SessionsClient.java:106) W/System.err: at com.example.lpt_0096.dialogflowv2.MainActivity$MyAsync.detectIntentStream(MainActivity.java:76) W/System.err: at com.example.lpt_0096.dialogflowv2.MainActivity$MyAsync.doInBackground(MainActivity.java:61) W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:333) W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) W/System.err: at java.lang.Thread.run(Thread.java:764)

我可以从哪里设置环境v android studio中有一个版本,我是Windows用户

from where can i set environment variable in android studio, I am windows user

推荐答案

从错误

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

java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials

请参阅
https://developers.google.com/accounts/docs/application-default-credentials
以获得更多信息。

See https://developers.google.com/accounts/docs/application-default-credentials for more information.

您可能需要在环境变量路径 GOOGLE_APPLICATION_CREDENTIALS = path中添加它/to/your/service_accont_key_file.json 。并应从此处 https://cloud.google.com/docs/身份验证/入门。另外,如果您不知道如何设置环境变量路径,则可以检查此 https:// www .computerhope.com / issues / ch000549.htm

You may need to add this in the environment variable path GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json. And should get the json file from here https://cloud.google.com/docs/authentication/getting-started . Also if you don't know how to set environment variable path you can check this https://www.computerhope.com/issues/ch000549.htm

这篇关于如何设置环境变量GOOGLE_APPLICATION_CREDENTIALS?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆