惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
S
SegmentFault 最新的问题
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Martin Fowler
Martin Fowler
雷峰网
雷峰网
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Week 13:捷径和 API 相关的进阶技巧 - 少数派
2019-01-18 · via 少数派

上星期我们认识了如何在捷径之中与 API 打交道。不过那部分的文章的主要目的是为了让各位认识整个流程,所以没有添加任何复杂的细节。

而在和 API 打交道的过程中,我们其实会遇到很多细节上的问题,其中最重要的一个,就是授权。授权是让服务知道现在发起请求的是你本人(比如 Hum),而只有这样,我们才能通过 API 做一些更具体的、更与自己有关的事,而不是只做一些对谁来说都没有区别的事。当然,除了授权,在捷径中使用 API 时还会遇到一些典型的问题,这些问题我们也都会在这周集中解决。

为了讲解本周的内容,我选择了 Toggl 作为示例的服务。利用 Toggl API 制作的捷径,也是我个人每天都会用,如果能统计捷径运行次数的话,恐怕也是我运行最多的捷径。

Toggl 是个时间记录的服务,和其它工具有什么区别呢?最大的区别就是它是个在线服务。在自动化方面,在线服务比本地工具——特别是 iOS 上的本地工具——体验好很多。最直观的表现是不需要跳转,不管多复杂的东西都会在后台云端处理。这也让它的协作性更好,服务和服务之间可以很轻松地协作,互相支持。比如 Slack 和 TrelloTrello 和 TogglToggl 和 TodoistTodoist 和 Slack 等等,不能直接互相关联的服务,也可以通过 IFTTTZapier 这样串联服务的服务来协作。最后还有团队属性更强,本地工具都很难实现团队层面的应用,都只局限在了个人使用的层面上……本地工具和服务之间的区别我此前专门在本教程里写了一篇《专栏:在线服务与本地工具的区别》,读到这里有兴趣的可以翻回去读一下这篇文章,结合起来会有更深的理解。

话说回来,时间记录每个人还是可以试试的,小团队更应该试试,它至少有以下几个好处:

  1. 对自己完成任务的时间预估更加准确
  2. 从而在时间安排上能有所依据,做到更加客观
  3. 对自己有一定的监督和督促作用
  4. 团队方面可以掌握员工在某项工作上的耗时
付费组成员本周在线阅读时长

比如上图是我们付费内容组的 Toggl。为了使组内成员了解在线阅读时长1 与选题能力与写作能力的关系,我们共用了一个 Toggl Team,来统计我们的阅读时间。

为了让他们统计得更加准确,以及使用的阻力更小,我专门为整组成员做了这样的捷径:

视频里发生的事是这样的:

  1. 用 3D Touch 调用 Launch Center Pro 的 QuickAction
  2. 选择「Pocket」:此时运行捷径,开始使用 Toggl 计时并且打开 Pocket
  3. 重复 1,选择「RSS」:此时运行捷径,停止 Pocket 计时,告知我阅读 Pocket 阅读了多长时间,并询问我是否开始阅读 RSS
  4. 选择「是」:开始使用 Toggl 计时并且打开我的 RSS 客户端(可根据设备设定不同的客户端)

这个思路当然可以应用到更多的方面,比如你可以用这种方法,在打开王者荣耀的时候就开始计时,统计「打游戏打了多久」;同理,打开 Ulysses 时就开始计时,统计「写作写了多久」;还有「看视频看了多久」「读论文读了多久」「做音乐做了多久」「剪视频剪了多久」「画画画了多久」……

这样一来,我们在 iOS 上也算实现了一种「启动即计时」的机制,来统计我们使用某个软件的时间。

有人会说,iOS 上已经有了「屏幕时间」,我们直接看它不就行了吗?从某方面来说屏幕时间确实把这件事做得比较简单,也有不错的统计结果展示。但是「屏幕时间」仅限于 iOS 平台,数据也不能和其它平台共享。相比之下我们还是更需要一个全平台的时间记录工具,能够整体统计我们的时间使用情况,而不是在每个平台都有它独自的时间记录工具,给我们提供零碎的信息。比如说统计玩游戏的时间,我们在电脑上玩 Steam 里的游戏,也是应该被统计的。我们最终希望只在一张饼状图上就看到自己玩游戏玩了多久,哪个平台、哪个游戏占用了多久,而不是打开好几个设备上的好几个软件,再去把它们的时间都统计在一起,再加起来去新做一个饼状图。

总之,时间记录值得尝试。如果你希望尝试时间记录,我更推荐全平台的服务,而 Toggl 就是一个现成的好选择,同时它也提供了相对规范又易懂的 API。再加上 Toggl 的 iOS 应用一直做得比较鸡肋,实际上还不如结合捷径使用来得更效率。综合这些原因,我们这周将以 Toggl 作为示例,来讲解捷径和 API 相关的进阶技巧。


这周的内容将主要由以下几个部分组成:

一、在捷径中完成 Toggl 认证

我们最初要解决的,也是和上周内容最不同的,就是在捷径中如何通过 API 认证,或者说登录你的账号。让 Toggl 能够判断现在发起请求的是你本人,随后返给你那些只有你本人才能获取的内容,比如说你记录时间的项目(Project)和任务(Task)。

二、本捷径的主干部分

第二篇文章开始搭建整个捷径的主干部分。在这个主干部分有一个关键知识点,是制作词典。

在记录时间时,我们会建立不同的项目和不同的任务。而当捷径通过 API 请求到这些内容时,我们同时需要这些项目和任务的标题以及它们的编号。这是因为我们是靠标题知道谁是谁的,而 Toggl 的 API 是通过编号知道谁是谁的。所以最好的方法,就是把标题和编号绑在一起,我们看着标题选,完事儿捷径传输我们选的那个标题的编号。如果你对词典这个概念还有印象的话,会发现我们其实要的就是这个东西。

三、根据结果决定下一步运行的内容

这部分比较简单,具体来说是让捷径能做到:

  1. 当没有计时器运行时,直接运行新的计时器
  2. 当有计时器运行时,停止当前计时器,并询问是不是运行新的计时器
  3. 如果是的话,就再运行一遍这个捷径

这里的精髓是第三条,再运行一遍这个捷径。这是一个新的技巧,专业一点叫做「递归」,但是这个在捷径里的实现又特别简单,用一个「运行捷径」的操作就解决问题。