2

谷歌云存储(不一样的谷歌驱动器)似乎与S3 API的兼容性:使用AWS/AWS-SDK-PHP与谷歌云存储

https://developers.google.com/storage/docs/migrating#migration-simple

有谁知道我是否可以使用aws/aws-sdk-php(https://packagist.org/packages/aws/aws-sdk-php)包并将其配置为连接到我的Google Cloud Storage而不是AWS S3?

我曾尝试下面的代码:

<?php 
use Aws\S3\S3Client; 
use League\Flysystem\Filesystem; 
use League\Flysystem\Adapter\AwsS3 as Adapter; 
require_once 'vendor/autoload.php'; 
error_reporting(E_ALL & ~E_NOTICE); 
ini_set('display_errors', 1); 


$client = S3Client::factory(array(
    'key' => 'MY_GCS_KEY', 
    'secret' => 'MY_GCS_SECRET', 
    'endpoint' => 'storage.googleapis.com' 
)); 
$filesystem = new Filesystem(new Adapter($client, 'MY_GCS_BUCKET')); 
$filesystem->write('filename.txt', 'contents'); 

但是,这给我一个错误:

Fatal error: Uncaught Aws\S3\Exception\InvalidAccessKeyIdException: AWS Error Code: InvalidAccessKeyId, Status Code: 403, AWS Request ID: BF7C1317719A4C67, AWS Error Type: client, AWS Error Message: The AWS Access Key Id you provided does not exist in our records., User-Agent: aws-sdk-php2/2.6.15 Guzzle/3.9.2 curl/7.32.0 PHP/5.5.4-1+debphp.org~raring+1 thrown in /var/www/prudhub/dev/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91

任何人都知道如何或者如果我能正确设置AWS/AWS-SDK-php软件包改为连接到Google云端存储?

编辑

这里是使工作代码:

<?php 
use Aws\S3\S3Client; 
use League\Flysystem\Filesystem; 
use League\Flysystem\Adapter\AwsS3 as Adapter; 
require_once 'vendor/autoload.php'; 


$client = S3Client::factory(array(
    'key' => 'MY_GCS_KEY', 
    'secret' => 'MY_GCS_SECRET', 
    'base_url' => 'https://storage.googleapis.com' 
)); 
$filesystem = new Filesystem(new Adapter($client, 'MY_GCS_BUCKET')); 
$filesystem->write('filename.txt', 'contents'); 

回答