使用工作流快速添加抽认卡背单词
自从去年恢复日语(我相信读者是理性的,我们只谈文化不谈政治)以来,我几乎每天都会在微信微信官方账号newswebeasy上看到一条日语新闻。文章内容虽然使用了基础词汇,但还是经常会遇到生词。如何快速记录它们成为一件棘手的事情。更重要的是,记不等于记,如何复习也是个问题。
有些读者应该想到过用iOS的Workflow,一个效率App。嗯,我是有,但是早期也有涉猎工作流功能,自建动作比较低。遇到抄来的新词,我就跑,跳出输入框,手动输入新词的笔名、语气、词性、解释,同步到Evernote。
至于复习,我经常翻翻录好的生词。说了这么多,如果真的发生了,首先,你会忘记看。其次,记录的生词越来越多,打开就不想看了。 ̄□ ̄)?゜゜゜。
复制新单词,通知中心运行工作流动作,通过Quizlet [Quizlet] API提取沪江小d、Flashcard[^抽认卡]上该单词的相关信息。抽认卡App根据记忆曲线提醒你复习,一次只复习几个生词,再也不会全是生词KO了。
一、预演动作效果,给你看的动力。
首先,附加工作流动作:动作1 Quizlet获取令牌;动作2给日语新词添加Qz
Quizlet官网注册普通账号,打开开发者网站(需先注册邮箱),根据评论填表申请API Key。
申请后,页面如下,客户端ID,重定向URI,秘钥后面会用到。
令牌密钥获取的详细流程和参数描述见官方文档。主要分为三个步骤:
1引导用户到授权服务器的授权门户。这一步只需要打开下面的链接。其中,我的客户端ID是之前获得的客户端ID;范围是指被授权的第三方的权限范围,即:read、write_set、write_group,其中需要可以读写和删除的write_set权限;RANDOM_STRING是一个任意字符串,用于防止CSRF攻击(我不知道这是什么玩意儿)。随便做个随机数就行了。
2打开以上链接后,询问是否授权访问Quizlet账户。如果允许,您将转到重定向URI指定的链接,并附加代码参数。复制链接并用正则表达式提取代码。工作流动作一运行如下图所示,跳转后就被授权复制页面(原则上也需要检查返回的状态参数是否与第一步传输到服务器的一致,以避免CSRF攻击。)
3从服务器请求令牌。按照官方要求填写岗位信息就可以了。其中授权列是Basic Base64编码(客户端ID: secret key),可以自行转换,也可以官方转换。有关详细信息,请参见本页步骤2中表格的最后一行。
过一会儿,将获得的令牌复制到剪贴板,并将值粘贴到第二个工作流对应的项中。
这篇论文是针对日语单词的。如果是其他语言的单词,尤其是针对英语的,各种字典API还是很丰富的。英语词汇可以考虑在扇贝服务器上增加新单词。详见本文。
目前沪江小D还没有开放查询API,只能曲线保存国家,提取查询的网页信息。沪江小d的查询链接为/jp/jc/ China,使用URL的Get Contents获取网页内容,笔名ちゅぅごく,声调①,词性,释义。
经过多次测试对比,假名和词类都包含在“”中,声调在罗马字(图中chuugoku)发音后面。对于释义,最好得到详细释义后的1和2(因为有些词在词性后没有释义)。
使用正则表达式分别提取所需内容。表达式的具体写法见工作流动作,就不赘述了。应该指出的是:
(1)当网页中没有“”时,表示没有找到单词信息,需要一个If来判断。
(2)虽然最近更新的魔法变量可以简化这个过程,但是这个动作需要提取多个信息并多次使用。使用所有的魔术变量是不方便和直观的。
(3)在动作中设置了显示通知,方便对发现的信息进行确认。毕竟官方API不支持,一些生僻的新词用正则表达式也无法得到正确的信息。
使用Get Contents of URL将词汇信息发布到Quizlet服务器。其中,Authorization列填充了在Action 1中复制的令牌。可以把$ term和definition理解为抽认卡的正面和背面。
图中的URL链接如下,其中187957966是要上传的抽认卡的组ID(否则服务器不知道你要在哪里添加新的抽认卡)。
如何获得ID?打开API测试页面。
点击蓝色按钮直接发送API请求。
在弹出的窗口中可以找到ID,其中title对应组名,双字节字符会重新编号,很难识别。
抽认卡上传成功后会有通知提示,仅供参考,说明沪江小D只有单词的基本解释,没有发音等信息,一般是专属单词。仅供参考的单词不会添加到抽认卡中。
需要注意的是,由于非官方的API支持,查询结果有时会出现小bug。如果有任何问题,请让我知道。
正如你所看到的,关于中国这个词的信息已经被添加到Quizlet。
可以选择官方Quizlet。好处是可以通过添加生词,刷新来学习。但是我个人用的是抽认卡Deluxe,有很多选项和主题可以设置。缺点是我需要手动更新抽认卡,如图。第三张图的意思是:单词会被新的替换,但学习进度会保留下来。
显示下面的效果
获得Quizlet账号的完全权限,其实可以让一个小程序寄生在工作流上,除了批量添加、删除、修改,甚至操作抽认卡。更多操作请求方法见官方示例。
工作流是一个令人惊叹的应用程序,不断的更新使iOS功能变得更加可能。
在写这个工作流动作的时候,也学到了很多新知识,比如正则表达式,OAuth授权流程。因为不懂HTTP请求,所以拿到Token的时候走了很多弯路。经过一番努力,我突然明白了解决办法。这种成就感和喜悦之情溢于言表。简直太棒了。我觉得这是人类不断探索,不断进步的动力之一。
本文中的工作流动作适用于在iPhone或iPad上阅读新闻。如何快速&;批量添加到Quizlet生成抽认卡。这个要看大家对这篇文章的反馈。人少就不用发了。
【news web easy】:news web easyやさしぃのニュースです,类似于VOA特别英语,NWES WEB EASY发布的新闻使用简单的词汇和基本的语法,方便日语初学者。
[Quizlet]:在线抽认卡网站,提供iOS和android客户端。
【^抽认卡】:抽认卡,即抽认卡。