2012-09-24 93 views
4

我使用下面的链接使用谷歌云存储上传对象到谷歌云存储:无法使用谷歌API

Google CLoud

我想用上面给出插入功能上载对象API.I使用PHP。我使用的代码如下:

$StorageService = new Google_StorageService($client); 
$objects = $StorageService->objects; 
$gso = new Google_StorageObject(); 
$gso->setName('myobj'); 
$postbody = array(file_get_contents('buc.jpg')); 
$resp = $objects->insert('mybucket', $gso, $postbody); 

但即时得到错误为:

致命错误:在/ home:未捕获的异常“Google_ServiceException”与消息“(400)所需错误调用POST https://www.googleapis.com/storage/v1beta1/b/mybucket/o” /www/public_html/abc/google-api-php-client/src/io/Google_REST.php在线66

我在做什么错了,请帮我..

有一些问题与我发送参数的方式。如果有人知道帮助我..

有在这里一个例子:

Example

但是,这是在Java中,请帮我做同样的事情在PHP。请帮助我。

回答

4

我想出了答案。要使用的代码如下:

$objects = $StorageService->objects; 
$postbody = array('data' => file_get_contents('buc.jpg')); 
$gso = new Google_StorageObject(); 
$gso->setName('mybuc'); 
$resp = $objects->insert('mybucket', $gso ,$postbody); 
print_r($resp); 

,然后将其工程.. 我没有以阵列设置参数“数据”作为函数的第三个参数来传递。我发现了,它的工作。

+0

反正你可以给你的东西,包括一个稍微有点更多信息? – bryan

0

存储桶共享一个全局命名空间。在存储对象之前,您必须创建存储桶,而“mybucket”不是可用的名称。

如果你去GCS浏览器在https://storage.cloud.google.com/,你可以在那里创建你的水桶,然后引用现有的水桶在你的PHP代码。

+0

我知道。我创建了我斗,我给刚例如mybucket .. –