如何透过 Zapier 实作“Send to Kobo”功能

Amazon Kindle 阵营的“Send to Kindle by E-mail”可以把电子书直接 E-Mail 到 Kindle 去阅读,这样的功能再与 Calibre 相结合更是如虎添翼。但是 Kobo 一直没有这样的机制!!

最近 Kobo Forma 将韧体更新至 4.18.13737 之后,会得到了一个全新的连结 Dropbox 功能,这功能让我们可以把 Dropbox 做为额外的云端书柜。于是我就想到,能否也利用 Dropbox 来做到类似 Send to Kobo 的功能。

终于我透过了 Zapier 实作出了一键将电子书寄送到 Dropbox 去让 Kobo 读取,完成了一个非官方版的“Send to Kobo”,以此做为本篇的教学。

不过呢,因为目前 Kobo 只有最顶级的 Forma 可以连结 Dropbox,所以要套用本网页的教学,原则上你得要有一台 Kobo Forma。但是,假如你就是脾气硬、骨头也很硬,硬是不想买一台 Kobo Forma 的话,也是可以把本网页当成是 Zapier 的入门教学啦──学习如何将 Gmail 的附件上传至 Dropbox。

废话不多说,直接进入教学。首先,本教学会用到的程式与服务有:

  1. Dropbox: 请先将 Kobo Forma 与你的 Dropbox 帐号完成连结 (如果你要注册新的 Dropbox 帐号,可以使用我的推荐连结: https://db.tt/45IWY6OK,这样除了 Dropbox 免费的 2GB 容量之外,还可以再帮你、我各增加 500MB)。
  2. CalibreKePub Output 外挂程式: 请自行安装。
  3. Gmail: Gmail 在这里所扮演的角色只是让 Zapier 连进来取得附件。反正只是过过水,可以考虑注册一个新的帐号来使用。
  4. Zapier: 因为免费的 Zapier 帐号只能建立 5 个 Zap,如果你还没用过 Zapier 的话,建议用上一个步骤所注册的 Gmail 来注册一个新的 Zapier 帐号。新的 Zapier 帐号有两周的试用期,可试用完整的付费功能 (注册完得再进去“小铃当”执行“Confirm My Email”)。

请先在同一个浏览器登入上述的 Gmail、Zapier 与 Dropbox,还没注册的就先注册。

以下都需照着各步骤来执行,因为后面的步骤需要去对照前一个步骤的结果。

1. Calibre

电子邮件设定

  1. 进入 Calibre 的“偏好设定”→“以电子邮件分享书本”,按“加入电子邮件”来加入你用来接收电子书的 Gmail 帐号,“格式”输入 KEPUB,限定只能接受 KePub 格式的电子书,“主旨”字段请留空白:
  2. 画面下方的“Email Server”为寄件服务器,请依照你的系统环境做设定。因为 Gmail 寄信会比较严格,因此我是使用 Microsoft 的 Outlook (Hotmail) 来寄信。
  3. 设定完按“储存”结束。

寄送电子书

我们要来寄送一本电子书到前面设定的 Gmail 信箱。我找一本档案比较小的书籍来做示范好了,啊~就是你啦《男人除了性还会想什么》,这本书的容量那么小,想必是一本言简意赅的经典书籍! 而且据说这本书还被翻译成 100 多国语言,很屌吧?!

寄送电子书步骤:

  1. 回到 Calibre 的主画面,在要寄送的书名按鼠标右键选“连线与分享”,将电子邮件寄到你设定的信箱:
  2. 因为我们在前面已经设定了寄到该 E-Mail 的电子书格式为“KEPUB”,因此,如果你的电子书不是“KEPUB”格式,Calibre 会询问你要不要自动转成“KEPUB”格式,按“是(Y)”才能继续,按“否(N)”则是取消发送:
  3. 寄出电子书之后,主画面右下角的“工作”数量会由 0 变成 1,你可以点进去查看 Calibre 的寄件状况。

2. Gmail

查看邮件格式

登入 Gmail 查看 Calibre 寄过来的电子书内容:

从邮件的内容可以看到:

  1. 主旨为“电子书: 男人除了性还会想到什么”,这主旨我们待会在 Zapier 会用到。
  2. 附件的档案名称是英文拼音而不是中文档名,这是 Calibre 的“特性”! 而其中的副档名 .kepub 不是正确的 KePub 的副档名! 正确的副档名为 .kepub.epub,后续我们将在 Zapier 修正。

3. Zapier

Zapier 简述

这几年出现很多 SaaS (软件即服务),他们有各自擅长的领域。Zapier 主要是用来串接不同的 SaaS,自动化帮你完成各种跨平台的任务,Zapier 号称可支援 1,500+ 种应用程式和服务

Zapier 将它们的“自动化范本”称为“Zap”,基本的 Zap 是由一个“触发器 (Trigger)”与一个“任务 (Action)”所组成,免费的 Zapier 帐号只能建立 5 个 Zap。

以下我们将建立一个由“Gmail 的附件”去触发“Dropbox 上传档案”的 Zap:

建立 Gmail 触发器

执行步骤:

  1. 在 Zapier 点选“Make a Zap!”。
  2. 自行输入范本名称,再依序选择:
    App → Gmail
    Trigger Event → New Attachment
    选好按“CONTINUE”继续:
  3. 接着要授权 Zapier 可以存取你的 Google 帐户,授权完按“CONTINUE”继续:
  4. 这里要来筛选 Gmail 里的邮件:
    如果这里全部的字段都没输入的话,那所有含有附件的电子邮件都符合规则,都将会被上传到 Dropbox。因为我们只是要取得“电子书”的附件,因此要在“Search String”字段输入 subject:(E-book|电子书) filename:.kepub,这个搜寻字串是针对“主旨有包含‘E-Book’或‘电子书’字串,并且附件的副档名为‘.kepub’的邮件”才会符合 (这些搜寻字串其实就是 Gmail 的搜寻功能)。
    另外,你可以看到上面还有一个“Label/Mailbox”字段,这个字段是用来套用 Gmail 既有的标签或收件匣,你也可以先用 Gmail 的筛选功能分类好邮件,再从这边选取,同样可以达到筛选邮件的目的,这部份读者可以自行研究。
    设定好按“CONTINUE”继续。
  5. 接下来我们要来测试上一个步骤的筛选条件是否可以找出我要的邮件,请按“TEST & REVIEW”继续:
  6. Zapier 在我的 Gmail 找到一封符合筛选条件的邮件,按右边的箭头可以查看邮件的明细,确认是否为我要的电子书。如果有找到多封邮件,你可以点选邮件左边的“蓝色单选钮”,表示之后的步骤要以这封邮件为范例。
    若筛选邮件的结果正确,则按“Done Editing”完成 Gmail 的触发器。如果筛选的结果不正确,请返回上一个步骤重新设定筛选条件。

建立 Dropbox 任务

执行步骤:

  1. 我们继续点选“2. Do this ...”来设定 Dropbox:
  2. 请依序选择:
    App → Dropbox
    Action Event → Upload File
    选好按“CONTINUE”继续:
  3. 接着要授权 Zapier 可以存取你的 Dropbox 帐户,授权完按“CONTINUE”继续:
  4. 这里是重头戏,请依序选择:
    Folder → Kobo 连结的 Rakuten Kobo 资料夹,
    File → 1. Attachment
    Specify File Name → 1. Subject
    Specify File Extension → 可以让你变更副档名,因此我们要输入 .kepub.epub:
    从上图可以看到,完整的档案名称是由“Specify File Name”与“Spceify File Extension”两个字段组成,你可以直接输入字串,或点选字段后方的“加入按钮”来加入功能性变量,同一个字段可以混合字串与变量。如果这两个字段都是空白,就不会变更附件的档案名称,你可以依需求做修改。
    输入完按“CONTINUE”继续。
  5. 在这个步骤要进行 Dropbox 上传档案的测试:
    按“TEST & REVIEW”进行测试。如果测试成功,电子书的档案就会以你指定的命名方式存放到你的 Dropbox,你就可以按“TEST & CONTINUE”结束设定。如果没有测试成功,请返回上一个步骤做修改。
  6. 后续跟着网页把这个 Zap 给启用,应该会看到这个启用画面:
    看到这里,表示 Zap 已经新增成功了! 它还告诉你这个 Zap 会每 5 分钟执行一次。不过这应该是 Zapier 的新帐号在试用期内才会是 5 分钟,试用期结束会变成 15 分钟。

Task History

要查看每个 Zap 的执行记录,可以进到 My Zaps,在该项目的下拉清单选“Task History”查看:

可以看到该 Zap 完整执行一次任务,或执行失败的记录。

错误处理

本以为会是一个 Happy Ending,照着 Zapier 所说的每 5 分钟执行一次。可是后续我寄到 Gmail 里的电子书却没有如期上传到我的 Dropbox!

查看它的 Task History,原来是有错误发生:

点进去查看:

虽然看不懂错误是怎么发生的,但是它有说可以照着上面的网址去跟 Gmail 重新取得授权,于是我复制网址、贴上浏览器,重新取得应用程式的授权,再启用 Zap,后来就再也没有发生错误了。

4. Dropbox

经测试,从 Calibre 寄出邮件,Kobo Forma 在约 5 ~ 10 分钟之内可以在“My Dropbox”读取到电子书 (试用期结束会变成 15 ~ 20 分钟)。

连结的应用程式

分别再去查看它们三者所连结的应用程式及权限,大概会是这样:

Google

Dropbox

Zapier

相关问题

  1. 依照本网页的教学,传送到 Dropbox 的档名前面会有“电子书:”这几个字,是否能移除?
    → 因为“电子书:”这几个字是来自于 Calibre 所寄出邮件的主旨,目前 Zapier 只能选用变量,没有修改变量的功能,另外也没有其它的变量比邮件的主旨更适合做为主档名,所以目前无解。
  2. 在 Gmail 的触发器中,如果想要筛选出全部“非”KePub 格式的电子书,要怎么写搜寻字串?
    → 加 - 代表“not”的意思,因此搜寻字串可以用: subject:(E-book|电子书) filename:-.kepub

功能比较

在实作出 Send to Kobo 之后,可以说是比 Amazon 的 Send to Kindle 还好用!

因为 Amazon 的 Send to Kindle 其实是有挑电子书格式的,寄送到 Kindle 的电子书,要不就是不能显示封面、要不就是不能变更阅读字型。而 Kobo 则是把 Dropbox 拿来当成云端书柜,Kobo 原本所支援的电子书格式都一样支援,所以就没有上述的问题了。

参考网页

  1. Kobo Forma 韧体更新与连结 Dropbox 经验分享
  2. Kobo Forma 32GB 电子阅读器 (E-Reader) 开箱
  3. Kobo eReader 支援的档案格式 – Rakuten Kobo
  4. Index of calibre plugins
  5. Add books to your Kobo Forma eReader with Dropbox – Rakuten Kobo
  6. How to Email Books and Documents to Kindle?
    • Tsai
    • 07/19. 2021 1:28上午
    Using Google Chrome Google Chrome 91.0.4472.164 on Windows Windows NT

    你好,

    请问在设定email 服务器的步骤,我欲使用同一个gmail帐号寄信到同一个gmail,但却无法成功发信寄出电子书

    主机名称: smtp.gmail.com
    连接阜: 587
    Encryption: TLS
    (这些是官方资讯,应该不会有问题)

    请问有哪个环节出错吗?
    谢谢。

    • Using Mozilla Firefox Mozilla Firefox 89.0 on Windows Windows NT

      你的设定应该是正确的,只是 Gmail 为了提高安全性,使用了两步骤验证与 Oauth2 才会导致寄信失败 (我自己也常因为换换个地点就无法登入 Gmail)。
      为了绕过 Gmail 的安全机制让 Calibre 可以寄信,你必须:
      启用两步骤验证,然后设定应用程式专用密码给 Calibre 使用。
      若暂时还不想启用两步骤验证,你只能允许“低安全性应用程式存取权”,这会整个降低 Gmail 的安全性。
      因此我觉得 Gmail 比较麻烦,也不排除未来又会改变机制,所以我另外申请 Outlook 的帐号来寄信。

        • Tsai
        • 07/19. 2021 4:24下午
        Using Google Chrome Google Chrome 91.0.4472.164 on Windows Windows NT

        谢谢你的回复,

        我好不容易启动两步骤验证、设定应用程式专用密码、连结gmail与calibre,

        结果,
        在设定zapier的最后一个步骤时,zapier告诉我gmail已不再支援连结dropbox‍♀️

        看来我注定不能用gmail,我要改用其他email了。

  1. No trackbacks yet.

return top

%d 位部落客按了赞: