你了解github api吗?

264 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情

前言

大家好,我是小阵 🔥,一路奔波不停的码字业务员
如果喜欢我的文章,可以关注 ➕ 点赞,与我一同成长吧~😋
加我微信:zzz886885,邀你进群,一起学习交流,摸鱼学习两不误🌟

开开心心学技术大法~~

开心

来了来了,他真的来了~

正文

  • 想实现自己的github可视化界面吗?
  • 想写个脚本自己监听你关注的库是否有重大更新吗?
  • 想实时知道自己维护的库有没有一些好的pr呢?
  • 想实现一个自己的Hello Github吗?

如果你有以上任意一个想法,都不得不了解一下github的相关api

github API

文档地址 中文文档

调用api的两种方式

  1. 通过curl调用
curl \
  -X POST \
  -H "Accept: application/vnd.github+json" \ 
  -H "Authorization: token <TOKEN>" \
  https://api.github.com/repos/OWNER/REPO/git/tags \
  -d '{"tag":"v0.0.1","message":"initial version","object":"c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c","type":"commit","tagger":{"name":"Monalisa Octocat","email":"octocat@github.com","date":"2011-06-17T14:53:35-07:00"}}'
  1. 通过js调用

    需要借助一个node包:octokit

    具体使用如下:

    const { Octokit } = require('octokit');
    // Octokit.js
    // https://github.com/octokit/core.js#readme
    const octokit = new Octokit({
      auth: 'your-personal-access-token'
    })
    async function getTokens() {
      // 获取tags
      const tags = await octokit.request('GET /repos/{owner}/{repo}/tags', {
      // const tags = await octokit.request('GET /repos/{owner}/{repo}/tags/protection', {
        owner: 'zzailianlian',
        repo: 'domTools'
      })
      console.log('tags', tags)
    }
    ​
    getTokens();
    

    或者可以参考文档中的(但是文档中的写法有时可能并不生效,因为版本更新与文档维护的缘故,所以细节方面需要自己调整下,比如上面的版本就是我自己调出来的,亲测有效)

    image-20220720104943886

结语

如果文章真的有帮到你,希望可以多多点赞、收藏、关注支持一波呀!!小阵会很开心哒~

文章如有错误或不严谨之处,还望指出,感谢感谢!!!

加油!

往期好文推荐「我不推荐下,大家可能就错过了史上最牛逼vscode插件集合啦!!!(嘎嘎~)😄」