探究Google Docs api 的详细过程(踩过的血泪坑)

网友投稿 905 2022-05-29

2019年11月14日22:14:38

近一段时间下班了一直在看Google Docs API, 主要是我们项目中有一个合同打印的功能,目前是上传Word标准合同,然后再有后端使用Java将一些合同信息填充进去,一些客户,服务条款。这么做其实是很low的办法,还有什么开启审阅模式。为了上线这个功能,我们公司还特意买了一个windows系统的服务器,用于处理word的打印,转换pdf。

在我看来,我们要做的功能别人肯定也都做过,肯定也有成熟的方案了。于是我一顿搜,找到了几个比较类似的例子,

Google Docs API

腾讯文档

石墨文档

目前这个腾讯文档吧,虽然开放了文档,但没地方注册试用,调试。找了几次商务也没找到,

石墨文档吧,上来就是收费。 放弃吧。

探究Google Docs api 的详细过程(踩过的血泪坑)

最后还是只能寄希望于大Google了,其实后面的都是仿照了Google来的。 这个是我猜测的。

Google Docs API

那就开始看吧,一头埋在了Google的谷歌文档,看他们QuickStart 文档,运行了Node.js和Python 都报同一个错误,timeout

曾经我一度以为是我配置的凭据有问题,但反复检查后,感觉也没问题啊。最后应我把问题归结为网络问题,由于墙的缘故。

目前这个问题我还没有解决,写这篇博客就是为了记录我探索Google Docs api 的历程。 记录我的艰辛。以及我所学到的东西。

问题一,运行Google Docs API.  Node.js Quickstart  报timeout

错误信息

Error retrieving access token { FetchError: request to https://oauth2.googleapis.com/token failed, reason: read ECONNRESET

at ClientRequest. (E:\GITRespon\node_quickstart\node_modules\node-fetch\lib\index.js:1455:11)

at ClientRequest.emit (events.js:182:13)

at TLSSocket.socketErrorListener (_http_client.js:392:9)

at TLSSocket.emit (events.js:182:13)

at emitErrorNT (internal/streams/destroy.js:82:8)

at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)

at process._tickCallback (internal/process/next_tick.js:63:19)

message:

这个问题已经阻挡我很久了, 我尝试了能搜索到的所有资料,关闭360,修改端口,添加host映射, 在github提交Issues 重新配置凭据

目前我已经知道了可以通过Google Apps Script 来操作word  而且还可以操作excel ppt

另外我还有以下不明白的点

1:如果要线上使用,是否还是要这样授权,使用google的回调函数, 登录google账号?

2:怎么去在线编辑word?编辑word的服务可以自己部署还是需要买Google的服务?

3:如何处理外wang不能访问的问题?

4:Gsuit 是个什么东西,需要付费吗? 有什么用处?

后面我会继续研究这个东西,争取能够有一天使用它做出一个产品来。

2019年11月19日10:16:29

目前已经搞清楚了,可以使用js调取谷歌docs api 去创建,去获取docs的详情.

doc的数据结构是一个用json描述的.

文档是在谷歌账号的driver中存储的.  了解了一下 app script的使用

那么问题来了,

如果搭建一个像谷歌那样的文档编辑器?

如果搭建一个在自己服务存储docs 文档,这些数据又改如何和google docs api 交互?如何进行编辑,修改

使用js调取api是总是显示很多授权,如何静默授权?不可能每次编辑都要用户登录google,进行授权吧?

2019年11月19日22:26:16

经过多方调研,我已经知道,Google 的文档编辑器不是开源的,并且不能独自部署,不能集成。

了解了一下OAuth 2.0 的授权机制。

意思是说如果你要做用在线文档编辑,除了用谷歌的文档api还要开发一个在线文档编辑器。

如果copy一份文档,并且替换其中的模板字符串?

如果将一个文档下载word 下载pdf?

能否开启预览?查看审批的信息?

下一步就是线上合同demo

基本思路就是,先创建一个合同模板,预设一些变量,调用一个更新方法,替换其中的变量

其中有可能修改一些条款,可能新增一个列表, 可能增加一个图片

然后下载word 在线预览pdf

如此这般,这般

API

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java内存模型(一)
下一篇:【最全华为云数据库资料】庖丁解牛——带你了解华为云数据库的精髓
相关文章