我正在尝试使用Google sdk从Google驱动器中获取文档内容。问题是get()
函数无法正常工作。它只提供文件元数据,不提供任何实际内容。
$googl = new Googl();
$this->client = $googl->client();
$this->client->setAccessToken(session('user.token'));
$this->drive = $googl->drive($this->client);
$file = $this->drive->files->get("fileId");
return $file;
答案 0 :(得分:2)
从documentation看来,您可以使用以下方法下载文件:
$file = $this->drive->files->get("fileId", array('alt' => 'media'));
$content = $file->getBody()->getContents();
答案 1 :(得分:1)
我怀疑我们这里可能有语言问题。
从Google驱动器文件中读取内容
google drive api是文件数据存储区api。这意味着它将存储文件本身以及有关该文件的信息。它不授予您对该文件内容的任何访问权限。
如果您想知道文件中的内容,则需要下载文件并在计算机上打开它。
或尝试Google documents api,但是我怀疑它只能读取google驱动器文档文件,而不能读取word文件,您可能必须先将其转换。
下载文件
如果您查看Download Files的文档,则会发现以下内容。
$fileId = '0BwwA4oUTeiV1UVNwOHItT0xfa2M';
$response = $driveService->files->get($fileId, array(
'alt' => 'media'));
$content = $response->getBody()->getContents();