探究Google Docs api 的详细过程(踩过的血泪坑)
2019年11月14日22:14:38
近一段时间下班了一直在看Google Docs API, 主要是我们项目中有一个合同打印的功能,目前是上传Word标准合同,然后再有后端使用Java将一些合同信息填充进去,一些客户,服务条款。这么做其实是很low的办法,还有什么开启审阅模式。为了上线这个功能,我们公司还特意买了一个windows系统的服务器,用于处理word的打印,转换pdf。
在我看来,我们要做的功能别人肯定也都做过,肯定也有成熟的方案了。于是我一顿搜,找到了几个比较类似的例子,
- Google Docs API
- 腾讯文档
- 石墨文档
目前这个腾讯文档吧,虽然开放了文档,但没地方注册试用,调试。找了几次商务也没找到,
石墨文档吧,上来就是收费。 放弃吧。
最后还是只能寄希望于大Google了,其实后面的都是仿照了Google来的。 这个是我猜测的。
那就开始看吧,一头埋在了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.<anonymous> (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
如此这般,这般
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/103074166
- 点赞
- 收藏
- 关注作者
评论(0)