0

現在、php プロジェクトに Google アプリ エンジンを使用しています。プロジェクトを Google Compute Engine に移行することにしましたが、php 経由で Google Cloud Storage に接続できませんでした。とにかくこの問題を回避する方法はありますか?

アップデート:

私はそれが達成可能であることを発見し、サーバー API を使用してストレージ コンテンツを取得する例が必要です。これが私がしたことです。

require_once 'GoogleAPI/autoload.php';
$projectId = "dummyid";
$client = new Google_Client();
$client->setApplicationName("Gave");
$client->setDeveloperKey("SERVERKEY");
$client->addScope(Google_Service_Storage::DEVSTORAGE_FULL_CONTROL);

$storage = new Google_Service_Storage($client);
$buckets = $storage->buckets->listBuckets($projectId);
foreach ($buckets['items'] as $bucket) {
   printf("%s\n", $bucket->getName());
}

しかし、それでも機能しません。サーバーキーは、一部のコントロールへのアクセスに制限されていますか? エラー500が表示されます。

4

1 に答える 1

1

もちろん、Google Compute Engine (GCE) から Google Cloud Storage (GCS) を使用できます。これは、GCS にアクセスする最も高速な方法の 1 つです。ただし、App Engine を使用していない場合、同じ App Engine PHP ライブラリを使用して GCS にアクセスすることはできません。

AppEngine 以外の環境から PHP を使用するための正規のクライアント ライブラリは、 Google APIs Client Library for PHPです。このライブラリを使用して GCS にアクセスする方法のデモとチュートリアルは、https ://cloud.google.com/storage/docs/json_api/v1/json-api-php-samples にあります。

2 番目のオプションとして、新しいgcloud-phpプロジェクトには GCS の基本的なサポートがあります。

最後に、3 番目のオプションとして、HTTP リクエストを使用して GCS に直接アクセスするためのパブリック API は十分に文書化されており、GCE から非常にうまく機能します。

于 2016-03-04T07:59:54.600 に答える