如何获取 Shields.io 的 GetSatisfaction 社区人数?

How to get the number of people in a GetSatisfaction community for Shields.io?

使用 GetSatisfaction API,如何获得社区成员的数量?我想使用这个数字来使用 Shields.io.

来制作 GitHub 盾牌

API: https://education.getsatisfaction.com/reference-guide/api/api-resources/

有很多端点,看起来像下面的人员端点应该做我想要的:

GET /companies/{community_id}/people.json

但是当我调用这个时,我没有得到正确的数字。

比如RingCentral Community的主页上写着10035人,但是下面API只有returns933人,其中102909就是community_id如图查看社区页面的来源。

来源摘录:

GSFN.Authenticatable.companyId = 102909;

我刚刚弄明白了。要获得此号码,请直接致电公司 API 并查找 approximate_people_count 数字:

GET /companies/{community_id}.json

这将 return 具有以下 属性 的 JSON 对象:

"approximate_people_count":10042

一旦有了这个,就可以使用 Shields.io uriquerysuffix 参数,如下所示:

  • uri=http%3A%2F%2Fapi.getsatisfaction.com%2Fcompanies%2F102909.json
  • query=$.approximate_people_count
  • suffix=%20members(可选,如下所示)

将其放在一起用于:

https://img.shields.io/badge/dynamic/json.svg?label=community&colorB=&suffix=%20members&query=$.approximate_people_count&uri=http%3A%2F%2Fapi.getsatisfaction.com%2Fcompanies%2F102909.json

如果您不介意使用 Badgen,这里是 Badgen 的方法:

  1. 创建一个 RunKit 端点(使用它方便的在线编辑器)完成工作,查询 json 并获取计数结果,然后响应 json:{subject: '', status: '', color: ''} , 比如 https://runkit.com/amio/peoples

  2. 使用 https://badgen.net/runkit/:endpoint_id/:args 从该端点提供徽章。这是徽章 url:https://badgen.net/runkit/peoples-txwpy888xiuk/102909

使用 Badgen,您可以拥有更简洁的 url,并从更复杂的 api 来源创建徽章,这要归功于 RunKit 端点。

这是一个完整的示例:https://runkit.com/amio/satisfaction

  • https://badgen.net/runkit/satisfaction-flq08o9mm3ka/102909/employee
    
  • https://badgen.net/runkit/satisfaction-flq08o9mm3ka/102909/people
    
  • https://badgen.net/runkit/satisfaction-flq08o9mm3ka/102909/topic