2012-09-24 109 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 .. –