其他 Substats API 的功能和语法规则
另外,Substats API 还可以串联多个不同的数据源和它们对应的请求参数。比如,我同时请求少数派、知乎、GitHub 三个平台上面的关注,即可这样构造请求(多个 source
和 queryKey
组合按照顺序进行请求即可,顺序在请求过程中不会丢失):
https://api.spencerwoo.com/substats/?source=sspai&queryKey=spencerwoo&source=zhihu&queryKey=spencer-woo-64&source=github&queryKey=spencerwooo
可以看到,上面的 URL 里,我直接串联了多个 source
和 queryKey
的请求组合,同时请求。这样我们就可以得到这三个平台上面关注者数量的总和 totalSubs
,以及每个平台各自的关注者数量 subsInEachSource
:
{
"status": 200,
"data": {
"totalSubs": 1312,
"subsInEachSource": {
"sspai": 638,
"zhihu": 361,
"github": 313
},
"failedSources": {}
}
}
那么,我们就可以直接用 Shields.io 构造一个如下的 SVG 小牌子:
https://img.shields.io/badge/dynamic/json?color=0084ff&label=%E5%B0%91%E6%95%B0%E6%B4%BE%7C%E7%9F%A5%E4%B9%8E%7CGitHub&query=%24.data.totalSubs&url=https%3A%2F%2Fapi.spencerwoo.com%2Fsubstats%2F%3Fsource%3Dsspai%26queryKey%3Dspencerwoo%26source%3Dzhihu%26queryKey%3Dspencer-woo-64%26source%3Dgithub%26queryKey%3Dspencerwooo
这样我们就可以直接得到三个平台总关注数量的一个「小牌子」:
少数派、知乎、GitHub 三个平台总关注者数量
同时,如果你想同时请求多个平台,但是平台中请求的数据标签名称是一样的,比如我们同时请求 Feedly 和 NewsBlur 两个 RSS 订阅服务里我自己的 RSS 链接
https://blog.spencerwoo.com/posts/index.xml 的订阅数量,那么我们可以:
- 直接用
|
将 feedly
和 newsblur
直接连接,传递给 source
作为参数
- 并将 RSS 链接传递给
queryKey
作为参数
从而构造这样的请求:
https://api.spencerwoo.com/substats/?source=feedly|newsblur&queryKey=https://blog.spencerwoo.com/posts/index.xml
这样,我们就可以直接得到两个平台同一个 RSS 源的总订阅数量:
{
"status": 200,
"data": {
"totalSubs": 17,
"subsInEachSource": {
"feedly": 14,
"newsblur": 3
},
"failedSources": {}
}
}
从而制作表示 RSS 链接总订阅人数的「小牌子」:
显示 RSS 订阅总人数的动态小牌子
简单方便!实在好用!(不瞒大家说,最初开发这一项目,我就是为了显示我自己 RSS 总订阅人数。😂)