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

2019年11月14日22:14:38

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

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

  1. Google Docs API
  2. 腾讯文档
  3. 石墨文档

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

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

最后还是只能寄希望于大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.<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的使用

那么问题来了,

  1. 如果搭建一个像谷歌那样的文档编辑器?
  2. 如果搭建一个在自己服务存储docs 文档,这些数据又改如何和google docs api 交互?如何进行编辑,修改
  3. 使用js调取api是总是显示很多授权,如何静默授权?不可能每次编辑都要用户登录google,进行授权吧?

 

2019年11月19日22:26:16

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

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

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

  1. 如果copy一份文档,并且替换其中的模板字符串?
  2. 如果将一个文档下载word 下载pdf?
  3. 能否开启预览?查看审批的信息?

 

下一步就是线上合同demo

 

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

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

然后下载word 在线预览pdf

 

如此这般,这般

 

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿我格子衫来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值