Quantcast
Channel: 少数派
Viewing all articles
Browse latest Browse all 13768

Workflow 移除了 Pocket 动作?教你做个更强大的

$
0
0

Workflow 被收购后发布了它的 1.7.3 版更新,根据更新说明,Google Chrome、Pocket、Telegram 等第三方服务或应用的的相关动作不再被支持。

不过,正如 Hum 在《Workflow 被苹果收购,意味着什么》一文中猜测,其原因可能是因「它们和 Workflow 的结合方式不符合苹果规定或者什么其它原因」,所以这些动作「日后还会回来」。

不管怎么说,现在你是没法用上诸如 Pocket 之类的动作了。其实,想要解决也不难,Workflow 团队只是删掉了默认的动作支持而已。由于 Workflow 本身就是靠 API 和 URL Schemes 实现自动化的,我们同样也可以再利用它们,恢复旧有的功能。

因为这条 Workflow 有点复杂,所以请先下载我制作完成的 Workflow。但先不要急着运行它,需要运行的时候你会在文中看到提示。

在Workflow 内登陆 Pocket 账号

先前要想在 Workflow 内使用 Pocket 动作,首先得要点击「Grant Access」按钮,给 Workflow 授权使用你的 Pocket 账号才行。但如今 Pocket 动作已被 Workflow 移除,所以我们要换一种方式给 Workflow 授权。

我们来想一下,以前我们是通过账户密码来登录 Pocket 的,这里我们需要用一个东西来代替这个账户密码。这个代替账户密码的东西,叫做 access token。想要获取它,我们需要先搞到另一个叫做 consumer key 的东西。

而想要搞到这个 consumer key ,是非常简单的。

获取 consumer key

你只需要进入 Pocket 的这个「Create a New App」界面,来申请一个就行了。步骤非常傻瓜,如下图:

  1. 像图里这样将 「Permissions」 项全部勾选
  2. 下面的 Platforms 则选 Web 好了,当然全选也行。
  3. 接下来勾选下面 「 I accept … 」并点击「Create Application」按钮确认
  4. 完成上面的步骤后,点击在左上角的「My Apps」 ,你就能看到我们需要的 consumer key了。

现在,你可以打开 Workflow(但别运行它) ,把它粘贴到 Workflow 里的第一个 Text 文本框里了(如下图所示)。

获取 access token

下面,终于到了你要运行 Workflow 的时刻了!运行后界面将会跳转到 Safari 里,让你登录你的账户,登录完后点击授权按钮(如下图图左所示)。界面就会跳回 Workflow 里继续运行。

随着 Workflow 的运行,你会看到图右的提示,这时代表你身份的access_token已经粘贴到你的剪贴板里。下面你只需要在 Workflow 里第二个 Text 文本框里,把内容粘贴进去就行了。

我在最开始就已经说过,这个 access_token ,也就是你复制粘贴的这个东西,相当于你的 Pocket 账户、密码,请切记保管好,不要外泄

用 Workflow 添加链接到 Pocket 

接下来,我们只要像以前一样运行这个 Workflow 就好了。不管你是想把剪切板的链接加到 Pocket 还是通过 Share Sheets 加到 Pocket。

它的原理是:要想用 Workflow 在你的 Pocket 添加一个链接,只要向 Pocket 发送consumer_keyaccess_token 以及你的链接即可。

而其中前面两个参数,我们都已粘贴好了。剩下只要把链接放入图中对应的位置即可。

而所有这些我都已经在 Workflow 里帮你做好了。

在 Workflow 内获取 Pocket 内容

除了添加文章,原先的 Pocket 动作还能获取指定的文章。

但是当时我们只能通过文章数量、文章类型、搜索和标签这 4 个选项对文章进行筛选。而直接使用 API ,我们还能通过是否已加星标等 11 个参数进行筛选。老版 Workflow 的 Pocket 动作,仅支持 4 种参数

仅从这一点来看,直接调用 API 的方式,也要比原先内置的 Pocket 动作强大一些。在这之前,如果你只想要含视频的文章,或者特定网站的文章,那可没辙了。而这些需求,通过 API 都可以解决。(由于大部分参数并不常用,这里我就不一一列出,想要掌握深度用法,请自行阅读官方文档

以获取特定某个标签的文章为例。运行一下 Workflow,选择「获取 Pocket 文章链接」,接着在参数 tag 一栏填写标签名称。Workflow 会为你从 Pocket 里取回一个 json 文件。

如果这时,我们用「Get Dictionary Value」看看获得的信息是什么样。得到的内容应该类似于下图。尽管它实际上已包含了我们所需全部信息,但显然,还不是我们最终想要的。

所以,接着还需要再用「 Repeat with Each」把 10 篇文章的信息分别取出来。到了这一步,就看你要取出文章做什么了。如果只是想要获得文章的链接,就再用 「Get Dictionary Value」获取 given_url 的值即可。

到此为止,准备工作都已完成了。只要你稍加改动,就能将之投入到实战中去。

实际运用:按格式批量导出稍候读中的内容

Workflow 砍掉 Pocket 动作,JailbreakHum 恐怕会是最遗憾的人之一。5 天前,他所作的《用 Workflow 按格式批量导出稍候读中的内容》才刚发布。没想到这会儿,导出 Pocket 内容的那条 Workflow 竟已不能用。

要把他那条 Workflow 重新开动起来并不难。因为在我们的 Workflow 中,从「获取 Pocket 文章链接」到末尾最后一个「End Repeat」的部分,就相当于原先 「 Get items From Pocket」这个被废掉的动作。

既然 Pocket 相关的部分解决。现在只剩按格式批量导出了。
你可以选择在 Workflow 中最后一个「End Repeat」的位置,把 Hum 那条「Export Pocket Articles」中 ,把 Pocket 动作后的部分接上(如下图所示)。Hum 的 Workflow 就被恢复了。

当然,如果把我的 Workflow 中「获取 Pocket 文章链接」部分搬到「Export Pocket Articles」中 ,替换掉 Pocket 动作,依然可以运行。

尝试一下,效果如初。整个教程也就到此结束。

以上只是针对入门者的操作指导,如果你想了解每一步的原理,还可阅读更详细版本的解说。

至于Get Street View Image, LINETelegramUber 等的相关动作,如果你能找到所需的 API ,当然也可参考本文来解决问题。



Viewing all articles
Browse latest Browse all 13768

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>