【问题标题】:Google Doc losing orientation on API update operationGoogle Doc 在 API 更新操作上失去方向
【发布时间】:2023-04-10 14:49:02
【问题描述】:

我正在使用 Google Drive API v3 阅读横向的 Google 文档,并尝试将文档中的一些单词替换为其他内容。

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

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

我没有在这篇文章中添加代码,因为我可以使用任何 http 客户端(如 https://www.hurl.it/)复制此问题

复制问题的方法如下:

I) 设置文档

为了复制问题,您需要一个方向 = 横向的文档。

II) 代码在做什么

1)我们首先通过API使用Service Account(https://developers.google.com/identity/protocols/OAuth2ServiceAccount)登录

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

3)我们得到文件的HTML导出(GET HTML request to https://docs.google.com/feeds/download/documents/export/Export?id=(documentid)&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 发送回文档?有没有办法在不丢失方向的情况下更新文档的内容?

在此致谢

【问题讨论】:

  • 有一个关于设置页面方向的ticket。它建议 Drive API 不支持更改方向等功能。可能发生的情况是,一旦更新完成,它也会自动将其更改为纵向。如果您也检查 API 参考,则没有可以更改方向的属性。
  • 是的,没有任何属性或任何方法可以通过 API 设置文档的方向。但奇怪的是方向已经是横向,并且正在改回纵向。由于无法通过 API 改变方向,这是一个非常令人惊讶和出乎意料的行为。

标签: google-drive-api


【解决方案1】:

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

【讨论】:

  • 我正在尝试这个,看看它是否有效,我会告诉你的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
相关资源
最近更新 更多