【问题标题】:Downloading from google cloud storage with php使用 php 从谷歌云存储下载
【发布时间】:2016-03-15 13:53:59
【问题描述】:

有没有办法实现通过.谷歌-php-api?我尝试了以下方法:

  • 使用媒体链接并尝试卷曲对象(返回“需要登录”)

  • 读取 guzzle 响应流(即使所有标头都有正确的数据也返回空)

我可以看到除文件正文之外的所有内容。 API。

编辑:

我当然可以通过 medialink 下载文件,前提是它设置为公开 - 但是这不适用于这种情况。

【问题讨论】:

  • 我同时遇到了同样的问题。我读到这个:stackoverflow.com/questions/17855705/…,但新的 Google PHP API 似乎不再使用Google_Http_Request
  • @ObinwanneHill 感谢您向我指出,这让我能够弄清楚其余的!我已经用代码 sn-p 发布了答案,说明你需要做什么。

标签: google-cloud-storage google-api-php-client


【解决方案1】:

解决方法如下……

您必须发出授权的 HTTP 请求,为此您必须:

$object = $service->objects->listObjects(BUCKET, OBJECT);
$http = $client->authorize();
$request = new GuzzleHttp\Psr7\Request('GET', $object->getMediaLink());
$response = $http->send($request);
$body = $response->getBody()->read($object->getSize());

上面是一个小sn-p,但是你需要获取文件内容的j​​ist。

【讨论】:

  • 谢谢。我错过了$response->getBody()->read($object->getSize()) 位。现在很好用
猜你喜欢
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-17
相关资源
最近更新 更多