【发布时间】: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