2016-03-01 69 views
0

我正在使用Google Drive API v3阅读横向导航的Google文档,并尝试用其他内容替换文档中的几个单词。Google文档在API更新操作中丢失方向

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

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

我不添加代码到这个职位,因为我可以在使用任何HTTP客户端(如https://www.hurl.it/

这里是如何复制问题复制此问题:

I)设立文档

为了复制问题,您需要一个orientation = landscape的文档。

enter image description here

II)什么代码做

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

2)我们获取文档的FileResource实例(API登录)

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发送回文档?有没有办法更新文档的内容而不会丢失方向?

在先进的感谢

+0

关于设置页面引发了[ticket](http://stackoverflow.com/questions/18311101/create-docs-through-the-drive-api-with-specific-page-setups-margins-orientatio)方向。它建议Drive API不支持改变方向等功能。可能发生的情况是一旦更新完成,它会自动将其更改为纵向。如果您也检查API参考,则没有属性可以更改方向。 – adjuremods

+0

确实,没有任何属性或任何方式通过API设置文档的方向。但奇怪的是,方向已经是风景,并且正在变回肖像。由于无法通过API改变方向,所以这是一个非常令人惊讶且意想不到的行为。 –

回答

0

要导出为HTML,然后更新它做一个完整的替代,而不是一个小的改动几句话。 HTML实际上没有页面方向设置,因此在翻译时实际上会丢失方向。您可以尝试通过另一种格式(如OpenOffice,PDF或MS Word)导出/更新。

+0

我试图看看它是否有效,我会让你知道。谢谢! –

+0

你是对的!这解决了这个问题。谢谢! –