我尝试使用python和Google Docs
将数据合并到Google Drive API
文件中。
我已经将这种类型的语法添加到我的doc文件:{name}并用这样的数据填充它(在Google App Engine
上运行的python代码):
self.content = self.drive_service_auth._http.request(self.download_url)
其中self.download_url是docs文件的url en self.content是此文件的内容。然后我合并这样的数据:
self.content = self.content.replace('{' + name + '}', value)
然后将文件保存回云端硬盘:
# metadata from generated document
body = {'title': title,
'description': desc,
'mimeType': 'text/html',
'parents': [{'id': folder_id}]}
# generate new document
media_body = MediaIoBaseUpload(StringIO(self.content.encode('ascii', 'xmlcharrefreplace')), 'text/html', resumable=False)
drive_result = self.drive_service_auth.files().insert(body=body, media_body=media_body, convert=True).execute()
这样做,数据被插入到doc文件中。但是,原始(模板)文件的标记与新文件的标记不同,我没有对它进行控制。
我认为这是因为doc文件在我的python代码中转换为HTML,当我保存它时,它会转换回原始格式(我认为是XML)。在这些转换中,我认为标记丢失/改变了。
是否有更好的方法来实现我的目标,即合并Google Docs
文件中的数据,同时仍保留将标记放入模板文件的选项?一种不会破坏原始文件标记的方法。