6

私が行っているプロジェクトでは、ファイルをGoogleのクラウドストレージに保存し、それらのファイルに接続するためのWebアプリを構築しています。バケットに保存されているファイル(またはオブジェクトが適切な名前である可能性があります)のリストをアプリに表示したいと思います。私はウェブ開発とグーグルAPIに完全に不慣れです。

私はこれを行う方法を研究していて、このビットのコードを見つけました...

Storage storage = new Storage(httpTransport, jsonFactory, credential);
    ObjectsList list = storage.objects().list("bucket-name").execute();
    for (Object obj : list.getItems()) {

      }

そして、AppIdentityCredentialを使用すると述べられています。

上記のコードをAppIdentityCredentialと一緒に使用する方法に関するアドバイス、またはJavaを使用してバケットに保存されているファイルを一覧表示するためのアドバイスをいただければ幸いです。

4

3 に答える 3

7

これはあなたを助けるはずです。

GAEAPIではなくCloudStorageAPIが必要であることを忘れないでください(参考までに:)。そのAPIについてはここで読むことができます-> https://developers.google.com/storage/docs/json_api/v1/json-api-java-samples(JSON、XML APIもあります)

于 2013-02-14T09:43:06.070 に答える
3

JavaからGoogleCloudStorageバケットにアクセスする最も簡単な方法は、GoogleCloudStorage用のNIOファイルシステムプロバイダーを使用することです。

リンクは、プロジェクトに依存関係を追加して設定する方法を示しています。次に、バケット内のファイルを一覧表示するには、次のようにします。

try (FileSystem fs = CloudStorageFileSystem.forBucket("bucket-name")) {
  for (Path path : Files.newDirectoryStream(fs.getPath("folder-name/"))) {
        System.out.println(path);
      }
}

AppEngine自体ではこれを試していませんが、外部でテストしたところ、機能します。

于 2018-07-12T22:45:55.217 に答える
0

次の要点は、GoogleCloudStorageバケット内のすべてのファイル/フォルダを一覧表示するためのトリックを実行します。

https://gist.github.com/hkarakose/d8f9ff78f7deb692e5302e06e8612ca6

コードを実行するには、次のMaven依存関係が必要です。

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud</artifactId>
  <version>0.8.0</version>
</dependency>
于 2017-01-31T18:34:38.897 に答える