【084】14周 批量添加任务、定制天气短信 | Workflow 定制 005

少数派编辑部
2017年11月30日

批量添加任务、定制天气短信 | Workflow 定制 005

| 本文为付费栏目文章,您已订阅,可阅读全文 |

用 Drafts 批量向 Todoist 导入任务

@匿名用户:用 Workflow 可以让 Drafts 的每行导入到 Todoist 吗?或者 Drafts 可以直接实现吗?
@文刀漢三:可以实现,不需要用到 Workflow,直接用 Drafts + Todoist 就可以实现。

操作步骤

首先你需要到网页版或者桌面版的 Todoist 中,在 Inbox 右上角的工具栏里找到 Todoist 的邮箱地址(每个项目都有单独的邮箱地址),注意保存好这个邮箱地址,不要发布到公共场合上。

找到 Todoist 的邮箱地址
然后在 Drafts 里安装这两个动作(动作原作者 @nahumck):
在「Email Todoist Inbox」这个动作里面,将 Todoist 的邮箱地址填进去。

将 Todoist 填到 Drafts 中
最后你只需要在 Drafts 运行「List to Todoist Inbox」这个动作就可以了。

最终效果
每行文本会保存为一个任务,你也可以为每个任务都加上一些属性,比如截止日期、标签、紧急程度,具体可以参考邮箱地址页的说明。

语法说明(标签部分似乎失效了)

动作说明

这个两个动作主要用到了 Drafts 的循环技巧,我们来看一下「List to Todoist Inbox」的 URL Scheme:
drafts4://x-callback-url/runAction?text=[[line|1]]&action=Email%20Todoist%20Inbox&x-success={{drafts4://x-callback-url/runAction?text=[[line|2..]]&allowEmpty=NO&action=List%20to%20Todoist%20Inbox}}
前半段 drafts4://x-callback-url/runAction?text=[[line|1]]&action=Email%20Todoist%20Inbox 的意思是将文本的第 1 行运行「Email Todoist Inbox」这个动作,也就是发送到 Todoist 收件箱里。
&x-success 的意思是如果运行成功了,那么就接着运行后面的代码:
drafts4://x-callback-url/runAction?text=[[line|2..]]&allowEmpty=NO&action=List%20to%20Todoist%20Inbox
这段代码的意思是将文本第 2 行往后的内容新建一个文本,此时原先的第 2 行就变成了新文本的第 1 行,然后再重新运行「List to Todoist Inbox」这个动作。
allowEmpty=NO 的意思是,如果文本为空,则停止运行。

视频:定时用微信发送定制天气信息

@Amazing:跟女票异地,她挺忙的,也不太关注天气,一遇上恶劣天气就束手无策了,我希望为她定制她所在地的天气,提醒她带伞或者加衣服,对了,她有时还出差,能根据她实时的地理位置预报天气预报就完美了。之前我想通过「查找朋友」的功能来实现,但 Workflow 似乎并不支持这个功能,少数派快来救救我吧!
以下为 @JailbreakHum 录制的操作流程以及讲解视频:

视频中 Workflow 下载

视频中的信息

  1. 查天气的网址(Workflow 里有):http://i.tianqi.com/index.php?c=code&id=8&py=城市名
  2. 查空气质量的 API(Workflow 里有,含 Token):http://www.pm25.in/api/querys/pm2_5.json?city=城市名&token=5j1znBVAsnSf5xQyNQyq
  3. 运行 Workflow 动作的 URL(Launch Center Pro 里可以搜到):workflow://run-workflow?name={{Workflow 动作名}}
  4. JSON 排版 Chrome 插件:JSON Formatter
  5. JSON 排版网页:JSON Formatter
  6. macOS API 工具:Paw

视频中提到的动作

  1. Make Rich Text from HTML:将 HTML 转为富文本;
  2. Replace Text:替换文本,可以使用正则表达式;
  3. If Otherwise:判断条件,决定符合条件时做什么,不符合条件时做什么;
  4. Exit Workflow:中止当前动作,并退出当前 Workflow;
  5. Split Text;通过换行、空格等元素将一段文本拆分为多个项目;
  6. Get Item from List:回去列表中的项目;
  7. Repeat:重复,根据具体场景有不同的作用;
  8. Get Dictionary Value:获取字典中 Key 的值;
  9. Repeat Item:当前正在重复的项。

上一期
专心写作,重复劳动交给机器:Minja | 我的自动化
下一期
TextExpander、MindNode、Pixelmator Pro | App 奏折 014
 
精选评论(2) 我的评论
  • Amazing
    视频中的有爱会员前来报到。在这个专栏开始更新的时候就提交了这个需求,看到这期的内容特别感动,有一种承诺被兑现的感觉,感觉少数派的编辑和作者们是认真负责,是值得信赖的。把视频的开头截屏给女票,女票特别感动。再次感谢少数派,感谢这个专栏!
    2017年12月03日 4
  • 顾伶磊
    定时其实用不着 LCP,用自带提醒事项就可以了。优点是不需要了解 URL schemes,缺点是必须使用 Siri 创建提醒事项。
    具体方法:
    1,打开你做好的 workflow 的编辑界面;
    2,呼出 Siri,告诉他提醒我这个(此为 iOS 9 的特性,workflow 很早就支持了),此时 提醒事项中就会创建一个用你的 workflow 命名的提醒事项。
    3,点开这个提醒事项,然后按照自己的要求设置好重复提醒的频率就行了。
    这样当你收到提醒时,按压提醒弹出通知卡片,在里面点击打开 workflow 按钮,就会直接跑你指定的 workflow。
    原本是想写个一日一技的,正好今天说道这个就直接贡献在评论区吧。
    2017年12月01日 12