Google 文档在 API 更新操作时丢失方向

Google Doc losing orientation on API update operation

我正在使用 Google 驱动器 API v3 阅读横向的 Google 文档,并尝试用其他内容替换文档中的几个词。

例如,如果文档包含 "Text_to_replace" 我搜索该字符串并将其替换为 "Hello World!"

但每次我使用 Google 驱动器 API 更新 Google 文档的内容时,文档的方向总是变为纵向。即使文档的方向最初设置为横向。

我不会向此 post 添加代码,因为我可以使用任何 http 客户端(例如 https://www.hurl.it/)重现此问题

重现问题的方法如下:

I) 设置文件

为了重现问题,您需要一个方向 = landscape 的文档。

II) 代码在做什么

1) 我们首先使用服务帐户(https://developers.google.com/identity/protocols/OAuth2ServiceAccount)

通过API 登录

2) 我们得到文档的FileResource实例(https://developers.google.com/drive/v3/reference/files/get)

3) 我们得到文件的 HTML 导出 (GET HTML 请求到 https://docs.google.com/feeds/download/documents/export/Export?id=(document id)&exportFormat=html)

4)我们将文档的HTML中的一些词替换掉(例如,我们将文本"Text_to_replace"替换为"Hello World!")

5) 我们通过 API.

进行更新
https://www.googleapis.com/upload/drive/v3/files/(document id)?uploadType=media

User-Agent apex-google-api
Authorization Bearer (service account authentication token)
Content-Type text/html

这是文档失去横向方向(已更改为纵向)的情况

我尝试只进行更新,跳过第 2 步到第 4 步,但我仍然看到问题(方向变为纵向)。

也许问题是我在更新时将整个 HTML 发送回文档?有没有办法在不丢失方向的情况下更新文档的内容?

在此先致谢

您正在导出为 HTML,然后进行更新,这将完全替换而不是对几个单词进行微小更改。 HTML 并没有真正的页面方向设置,因此方向在翻译中实际上丢失了。您可以通过 OpenOffice、PDF 或 MS Word 等其他格式尝试 exporting/updating。