
——写在文外:按本文内容 *** 作需要一定动手能力,且准备工作稍复杂,但最终实现效果很便利,可以先看预览效果感受下。
自从去年重拾日语 (我相信读者都是理性的,我们只谈文化不谈政治) ,基本每天都会在微信公众号 NewsWebEasy [^ NEWS WEB EASY]上看一篇日语新闻。文章内容虽然用的都是基础词汇,但仍会经常遇到生词。如何快速记录它们就成为一件棘手的事。更重要的是,记录不代表记住,如何复习也是个问题。
有读者应该已经想到,用 Workflow for iOS 这款效率App。嗯,我也确实这么做的,不过早期对 Workflow 功能浅尝辄止,自建的动作也比较低级,遇到生词复制后运行,跳出输入框,手动输入生词的假名、音调、词性和解释,同步到 Evernote。
至于复习,就是经常去翻看记录的生词。话虽如此,可是然并卵,首先是会忘记去看,其次随着记录的生词越来越多,打开后看见满满的生词也就不想看了ヾ(。 ̄□ ̄)ツ゜゜゜。
复制生词,通知中心运行 Workflow 动作,提取 沪江小D 上该词相关信息,通过 Quizlet [^ Quizlet] API 添加新的 Flashcard[^ Flashcard]。Flashcards App 根据记忆曲线提醒复习,每次只复习若干生词,再也不会被满屏生词 KO了。
首先预览下动作效果,给你看下去的动力。
先附上 Workflow 动作:动作一 Quizlet获取token ;动作二 日语生词添加Qz
Quizlet 官网注册普通帐号,打开 开发者网站 (需先认证注册邮箱) ,按注释填入表格申请 API Key。
申请完页面如下,后续用到 Client ID 、 Redirect URI 和 Secret Key 。
Token Key 获取的详细流程和参数说明见 官方文档 。主要分为三个步骤:
【1】引导用户到授权服务器的授权入口。该步只需打开下面链接即可。其中 MY_CLIENT_ID 就是前面获得的 Client ID ; scope 表示授权第三方的权利范围,分别为:read、write_set、write_group,这里需要可读写删除的 write_set 权限; RANDOM_STRING 是任意字符串,用于防止 CSRF 攻击 (我也不懂什么鬼) ,搞个随机数即可。
【2】打开上述链接后询问是否授权访问 Quizlet 账户,允许后会转到 Redirect URI 指定的链接并附上 code 参数。复制该链接并用正则表达式提取 code 。Workflow 动作一运行如下图,授权跳转页面后 拷贝 (原则上来说,还需要校验传回来的 state 参数是否和第一步传给服务器的一致,避免 CSRF 攻击 。)
【3】向服务器请求 Token 。 POST 信息按官方要求填入即可。其中 Authorization 一栏内容为 Basic base64-encoded(Client ID:Secret Key) ,该值可自行转换,也可用官方转换好的,详见 该页面 Step 2 中的表格最后一行。
动作一 会把获取到的 Token 复制到剪贴板,把该值粘帖到第二个 Workflow 对应项即可。
本文是针对日语单词,如果是其他语种词汇,尤其是针对英语,各类词典 API 还是很丰富的。英语词汇可考虑添加生词到扇贝服务器, 详见此文 。
目前沪江小D未开放查询 API,只能曲线救国,提取查询后的网页信息。沪江小D 查询链接为 http://dict.hjenglish.com/jp/jc/ 中国 ,利用 Get Contents of URL 获取网页内容,假名ちゅうごく,音调①、词性和释义都在了。
经过多次测试对比,假名和词性都用“【】”包含,而音调都在罗马字发音 (图中为【chuugoku】)后面,释义最好获取 详细释义 后面的第 1、2 条(因为有些词语【词性】后面没有释义)。
利用 正则表达式 分别提取需要的内容,表达式具体写法见 Workflow 动作,不再赘述。需要说明的是:
(1)当网页中“【】”一组也没有时表示未查找到词语信息,需要一个 If 来判断。
(2)最近更新的 魔法变量(Magic Variable) 虽然能简化流程,但本动作需要提取多个信息,且需多次用到,如果全部用魔法变量反倒不方便不直观。
(3)动作中设置了 Show Notification ,便于确认查到的信息,毕竟不是官方 API 支持,有些不常见的生词无法用正则表达式获取到正确的信息。
利用 Get Contents of URL POST 词汇信息到 Quizlet 服务器。其中, Authorization 一栏填入动作一中复制的 Token 。 term 和 definition 可以理解为抽认卡的正反面。
图中 URL 链接如下,其中 187957966 是要上传的 Flashcards 组 ID (不然服务器不知道你要把新的 Flashcards 添加到哪) 。
如何获取该 ID 呢,打开 API test 页面
直接点击蓝色按钮 Send API Request ,
d窗中可以找到 ID,其中 title 对应组名,双字节字符会重新编号,不易辨认。
Flashcard 上传成功后会有通知提示,其中 仅供参考 表示沪江小D对该词仅有基本解释,无发音等信息,一般多为专属词。仅供参考词语不会添加到 Flashcards。
需要说明的是,因为非官方 API 支持,所以查询结果有时会有小 BUG,如果出现烦请告知我。
可以看到,【中国】这个词语相关信息已经添加到 Quizlet 了。
可以选择官方的 Quizlet ,好处是添加新的生词后刷新下就可以学习了。但我个人在用 Flashcards Deluxe,可设置的选项和主题比较丰富,缺点是需要手动更新 Flashcards,如图。第三张图片意思是:词语会被新的替代,但学习进度保留。
显示效果下图
获取了Quizlet 账户完整权限,其实可以作一个寄生于 Workflow 的小程序,除了添加、还可以删除、修改,甚至对 Flashcards 批量 *** 作。更多 *** 作请求方法见 官方示例 。
Workflow 是个了不起的应用,不断更新使得 iOS 能力有了更多可能性。
在编写本文 Workflow 动作时,也学到了很多新知识,比如正则表达式, OAuth 授权流程。因为不懂 HTTP 请求,在获取 Token 时走了很多弯路,当经过一番努力后突然明白了解决了,这种成就感和喜悦之情真是难以言表,简直太棒了。我想这就是人类不断探索进取的源动力之一。
本文 Workflow 动作适合在 iPhone 或 iPad 上阅读新闻使用,如何把电脑上浏览时的日语生词,快速 &批量添加到 Quizlet 生成 Flashcards 呢。这个还是看大家对本文的反馈吧,人少就没必要发了。
[^ NEWS WEB EASY]: NEWS WEB EASY やさしい日本语のニュースです,类似 VOA 慢速英语,NWES WEB EASY 发布的新闻都是用简单词汇和基础语法,便于日语初学者和日本小学生阅读。
[^ Quizlet]: 在线 Flashcards 网站,提供 iOS 和 android 客户端。
[^ Flashcard]: Flashcard,即抽认卡 。
快捷指令是什么?快捷指令是一种可让您使用 App 完成一个或多个任务的快捷方式。“快捷指令” App 可让您创建包含多个步骤的快捷指令。例如,您可以构建一个“冲浪时间”快捷指令来获取冲浪报道、提供预计到达海滩的时间以及播放冲浪音乐播放列表。
ios14快捷指令新功能教程(快捷指令怎么用)(2)
快捷指令发展历程:
「快捷指令」原名 workflow,曾属于第三方APP;
2017年3月23日,苹果完成对Workflow的收购,并在 iOS 12 中,workflow正式更名为「捷径」APP;
在2019年发布的 iOS 12.1.4 正式版中,「捷径」再次改名,命名为「快捷指令」,这个名称一直延续至今;
从 iOS 13 开始,快捷指令中,又新增了 「自动化」 功能。
自动化是一种由事件触发的快捷指令,而非手动启动。您可以使用“快捷指令” App 设置个人或家庭自动化,然后通过到达、离开、iPhone 上的设置和一天中的某个时间等事件触发自动化快捷指令。
快捷指令有什么用?
“快捷指令”能够为自动执行 iPhone 和 iPad 上的日常 *** 作带来了无限可能。通俗来说,快捷指令其实有点类似微信小程序,可以通过一些自动化 *** 作和脚本实现各种功能,可以用来取代一些小应用或小程序。
不过,相比APP和小程序,快捷指令开发相对简单,并且比较开放,因此功能上没有小程序那么强大,存在一定的局限性。
快捷指令优缺点:
优点:安装使用简单、扩展丰富、开放式开发、开发相比小程序、APP要简单的多;
缺点:由于开发比较开发,快捷指令规则良莠不齐,经常会存在一些快捷指令失效,无法使用的情况。
比如,像一些去短视频水印类快捷指令,很容易受到短视频平台规则影响,经常容易失效。简单来说,快捷指令的不足在于部分规则稳定性相对不高,另外一些比较复杂的功能,通过快捷指令也比较难以实现。
快捷指令怎么用?
快捷指令主要由 「快捷指令APP」和 「快捷指令规则」、「自动化」等几个部分组成,其中 管理、创建、设置自动化 都需要在 快捷指令 APP 中进行。
ios14快捷指令新功能教程(快捷指令怎么用)(3)
对于 iOS 13 以上系统,内置快捷指令APP,无需再安装APP。如果你的 iPhone 中找不到快捷指令APP,可能是你不小心卸载或删除了,可以前往 APP Store 应用商店搜索找到,重新下载即可。
「快捷指令规则」也就是我们需要安装的扩展捷径,它分为 官方推荐的快捷指令 和 第三方开发的快捷指令 两种。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)