Google Doc Api:下载内联对象

Jér*_*e B 6 google-api google-docs-api google-api-client google-api-php-client

我正在创建一个 Google Doc to HTML 转换器,我想使用Doc Api而不是使用 Drive Api 将其导出为 HTML:

$service = new Google_Service_Docs($client);
$request = $service->documents->get($docId);

$elements = $request->getBody()->getContent();
Run Code Online (Sandbox Code Playgroud)

$elements 是 Google_Service_Docs_StructuralElement 的数组

循环遍历段落 > 元素,如果有内联对象,则使用 Google_Service_Docs_InlineObjectElement 设置 inlineObjectElement 属性

问题是:如何获取 Google_Service_Docs_InlineObjectElement 的内容以将其保存为文件?我们在这个对象中只有一个 inlineObjectId ......

Arm*_*min 1

我在这篇博文中找到了解决方案。

基本上,所有内联元素都位于:

$inlineObjects = $request->getInlineObjects();
Run Code Online (Sandbox Code Playgroud)

顺便提一句。我建议将“$request”重命名为“$document”

现在,通过inlineObjectId,您可以获得所需的特定对象 - 在那里,您可以获得包含二进制内容的contentUri 。

这里是内容的屏幕截图$inlineObjects,它是一个关联数组。关键是 inlineObjectId:

var dumper 中 Google_Service_Docs_InlineObject 的屏幕截图