I'm having an issue trying to download a file from Google Cloud Storage using the php client found at https://code.google.com/p/google-api-php-client/
I have authenticated myself ok and using the following code I can return an object which contains the link to my file
$this->storageService = new Google_StorageService($this->client);
$this->objects = $this->storageService->objects;
$options = array(
'prefix' => 'REPORT_NAME_2013-07-01'
);
$bucket_contents = $this->objects->listObjects($bucket, $options);
The response is something like...
{
"kind": "storage#object",
"id": "<bucket>/<report>.csv/1001",
"selfLink": "https://www.googleapis.com/storage/v1beta2/b/<bucket>/o/<report>.csv",
"name": "<report>.csv",
"bucket": "<bucket>",
"generation": "1001",
"metageneration": "1",
"contentType": "application/csv",
"updated": "2013-07-22T10:21:08.811Z",
"size": "806",
"md5Hash": "wT01i....",
"mediaLink": "https://www.googleapis.com/storage/v1beta2/b/<bucket>/o/<report>.csv?generation=1001&alt=media",
"owner": {
"entity": "user-00b........",
"entityId": "00b490......."
},
"crc32c": "8y........",
"etag": "CPjZ.........."
}
But how do I go about downloading the file using the Google PHP client...I can't use a file_get_contents as it has no knowledge of the authentication details. The best thing I have found is something that uses the Google_Client but the response simply contains meta data and no object/file content
$request = new Google_HttpRequest($object['selfLink']);
$response = $this->client->getIo()->authenticatedRequest($request);