北小魚

写字是很个人的事情,必须随心所欲

我的第一个Matters API 实验

發布於

读到 @catding 的《Matters儀表板發佈,每日自動更新》才知道Matters 有 API 可以采集后台数据,忍不住想玩一玩。站内找到 @robertu《社區開放一小步:Matters API》,API 使用指导。从来没用过 GraphQL,完全照猫画虎,在 https://server.matters.news/playground 上作了第一个实验。

送了4个queries:
1. 找一篇文章:《社區開放一小步:Matters API》
2. 找一个用户名: flyingfish0
3. 找标题里含有“电影”关键词的文章
4. 找文章《亚历山大图书馆和希帕提婭之死》之后发表的热门文章

API 查詢:

query {
  article(
    input: { mediaHash: "zdpuAyovU8xL9sYsV5rQfe35XhmN6okTVbnogCFH2J8cqAXCs" }
  ) {
    id
    author { displayName }
    title
    summary
  }
  user(
    input: { userName: "flyingfish0"}
  ) {
    displayName
    info {
      description
    }
  }
  search(
    input: { type: Article, key : "电影" }
  ) {
    totalCount
    edges {
    	cursor
    }
  }
  viewer {
    recommendation {
      hottest (
        input: { after: "亚历山大图书馆和希帕提婭之死" }
      ) {
        totalCount
        edges {
        	cursor
        }
        pageInfo {
          startCursor
          endCursor
          hasNextPage
          hasPreviousPage
        }
      }
    }
  }
}

API 返回的數據:

{
  "data": {
    "article": {
      "id": "QXJ0aWNsZToxMTUzNg",
      "author": {
        "displayName": "robertu"
      },
      "title": "​​社區開放一小步:Matters API",
      "summary": "三月網站改版時,我們對技術架構進行了調整,其中前後端通信的 API 從 REST 改為 GraphQL。在經過幾個月的產品迭代、開放註冊帶來的流量攀升考驗後, Matters API 正式對社區開放!為什麼選擇 GraphQL?雖然 GraphQL 與 REST 都能透過 HTT..."
    },
    "user": {
      "displayName": "北小魚",
      "info": {
        "description": "写字是很个人的事情,必须随心所欲"
      }
    },
    "search": {
      "totalCount": 20,
      "edges": [
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjA"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjI"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjM"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjQ"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjU"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjY"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjc"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjg"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjk"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjEw"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjEx"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjEy"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjEz"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE0"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE1"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE2"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE3"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE4"
        },
        {
          "cursor": "YXJyYXljb25uZWN0aW9uOjE5"
        }
      ]
    },
    "viewer": {
      "recommendation": {
        "hottest": {
          "totalCount": 130036,
          "edges": [
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            },
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOk5hTg"
            }
          ],
          "pageInfo": {
            "startCursor": "YXJyYXljb25uZWN0aW9uOk5hTg",
            "endCursor": "YXJyYXljb25uZWN0aW9uOk5hTg",
            "hasNextPage": false,
            "hasPreviousPage": false
          }
        }
      }
    }
  }
}

数据显示:
1. 文章找到
2. 用户找到
3. 找到20篇标题含有“电影”的文章,“cursor”是什么?怎么才能从“cursor”找到文章?
4. 这个数据有问题,总数有130036,不可能啊!“cursor”也不对,全都一样。

有高手指点一下吗?


喜歡我的文章嗎?
別忘了給點支持與讚賞,讓我知道創作的路上有你陪伴。

CC BY-NC-ND 2.0 版權聲明

​​社區開放一小步:Matters API

Matters儀表板發佈,每日自動更新

10

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區