【问题标题】:Google App Engine - GoogleCredential.getApplicationDefault(transport, jsonFactory) Not FoundGoogle App Engine - GoogleCredential.getApplicationDefault(transport, jsonFactory) 未找到
【发布时间】:2016-11-30 07:19:20
【问题描述】:

我需要使用来自 Google App Engine 的 Google Cloud Storage。因此,为此,我尝试使用应用程序默认凭据来获取授权凭据以连接到 Cloud Storage API。我使用添加 Google Api 选项在 Eclipse 中添加了 Google Cloud Storage JSON API。它添加了 google-api-client-1.18.0-rc.jar。这个jar没有下面的方法。

GoogleCredential credential = GoogleCredential.getApplicationDefault(transport, jsonFactory);

当我看到下面的示例时,我看到了依赖项

<dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-storagetransfer</artifactId>
      <version>v1-rev1-1.20.0</version>
    </dependency>

但在 Eclipse 中,使用添加 Google API 窗口时,我看不到找到此“v1-rev1-1.20.0”版本的 Google Cloud Storage API 的方法。如何下载与 v1-rev1-1.20.0 版本兼容的 Google Cloud Storage API jar?

【问题讨论】:

  • 您不需要 GoogleCredential。你想做什么?

标签: java google-app-engine google-cloud-storage


【解决方案1】:

由于您是从 App Engine 访问 Cloud Storage,因此您可以使用为 App Engine 构建的 GCS 客户端:

GcsService gcsService = GcsServiceFactory.createGcsService();
// ...
ListResult objects = fileService.list(MY_BUCKET_NAME, ListOptions.DEFAULT);
// ... and so on

【讨论】:

  • 感谢这暂时解决了这个问题。节省了很多时间。但作为一个长期解决方案,我不得不将项目转换为 maven 项目并使用最新的 App Engine Java SDK 1.9.42。早些时候我使用的是 1.9.25 SDK。使用最新的 SDK 解决了无法识别以下 API 的实际错误已解决。 GoogleCredential 凭据 = GoogleCredential.getApplicationDefault(transport, jsonFactory);
猜你喜欢
  • 2011-03-18
  • 2018-07-04
  • 2013-10-21
  • 1970-01-01
  • 2023-03-25
  • 2019-07-10
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
相关资源
最近更新 更多