Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何读取上传到Google Drive的PDF文件的内容?_Php_Google Api_Google Drive Api_Google Api Php Client - Fatal编程技术网

Php 如何读取上传到Google Drive的PDF文件的内容?

Php 如何读取上传到Google Drive的PDF文件的内容?,php,google-api,google-drive-api,google-api-php-client,Php,Google Api,Google Drive Api,Google Api Php Client,我想阅读上传到谷歌硬盘的PDF文件的内容。内容应该是人类可读的格式,而不是二进制格式。现在我正在使用GoogleDriveAPI来读取内容,但无法做到这一点 $fileId = $request['thesis_google_id']; $response = $service->files->get($fileId, array( 'alt' => 'media')); $content = $response->getBody()->

我想阅读上传到谷歌硬盘的PDF文件的内容。内容应该是人类可读的格式,而不是二进制格式。现在我正在使用GoogleDriveAPI来读取内容,但无法做到这一点

 $fileId = $request['thesis_google_id'];
    $response = $service->files->get($fileId,   array(
    'alt' => 'media'));
    $content = $response->getBody()->read(2024);

的核心功能是在Google Drive中下载和上载文件。这个API不允许您读取任何内容,它只为您存储文件并允许您下载它们

它确实允许您访问读写文件,但我怀疑它只支持google文档格式的文件,而不支持PDF格式的文件


您需要在本地下载该文件,然后使用某种形式的PDF reader for PHP读取该文件。

您可以使用提供的
文件:导出
方法来获取PDF文件的内容。
.pdf
文件的导出方法不会返回图像,但文件中的所有文本都可以导出为人类可读的格式。下面列出了可导出到的受支持的MIME类型

在PHP中,您可以通过以下代码实现这一点:

$fileId = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$response = $service->files->export($fileId, 'MIMEType', array(
    'alt' => 'media'));
$content = $response->getBody()->getContents();


要做到这一点,您的应用程序至少需要Google文档的读取权限,并且应该包括查询参数
alt=media

@Rata Guillermo我正在使用此方法,但仍然无法读取我的Google Drive PDF文件的内容。我正在为我的项目使用以下范围。请检查一下,如果我遗漏了什么,请告诉我。您在尝试运行代码时是否遇到错误,如果是,是什么错误?另外,请确保将
export
方法中的
'MIMEType'
更改为所需的MIMEType,在本例中为
'application/pdf'
。我没有收到任何错误,但也没有收到内容。我将MIMEType更改为application/pdf。调用
getContents()
后,
content
的值是多少?