Java中的Google API身份验证,不使用环境变量

Pau*_*ley 19 java google-api

我已经设置了一个简单的测试应用程序来与Google的Natural Language API进行交互.我创建了一个服务帐户,并下载了JSON凭据.我在本地开发机器上运行,所以我将GOOGLE_APPLICATION_CREDENTIALS环境变量设置为指向JSON文件.为了清楚起见,这可行:应用程序成功进行一些API调用并显示结果.

我想删除对环境变量的依赖.如何在应用程序中使用JSON文件(或任何其他方法)的已知位置来创建LanguageServiceClient具有这些凭据的文件?

Joc*_*fer 3

你可以这样注册:

DatastoreOptions options = DatastoreOptions.newBuilder()
  .setProjectId(PROJECT_ID)
  .setAuthCredentials(AuthCredentials.createForJson(
    new FileInputStream(PATH_TO_JSON_KEY))).build();
Run Code Online (Sandbox Code Playgroud)

这有帮助吗?