shuangmianxiaoQ / study-note

日常学习或工作笔记
6 stars 1 forks source link

GitHub Api 学习 #22

Open shuangmianxiaoQ opened 5 years ago

shuangmianxiaoQ commented 5 years ago

此 issues 是通过 github api 请求提交的

今天突发奇想,怎么能持续关注前端领域的一些新技术呢,首先github肯定是首选,毕竟它的影响力不可言喻。平时也就看看比较熟知的仓库,怎么就能了解到趋势呢,github当然提供了趋势查询功能,还有像查阅github仓库star排名的功能,既然github都提供了这些功能,直接查阅不就好了。因为自己也接触过一些数据可视化领域的知识,所以想把这些内容转化成图表,岂不是更加直观,这样也方便去关注开源社区的一些最新动态。

如果要做这样一个应用,使用Github API是不可避免的,之前也有使用过简单的部分API,但是对于查询趋势或是查询star排名的API还没使用过,我想,干脆趁这个机会,学习下完整的GitHub API也是不错的,下面就简单介绍下学习成果!

权限认证

Basic authentication

curl -u "username" https://api.github.com

我是直接在Postman中使用的,直接在Authentication中选择Basic Auth填写用户名和密码即可,如下图所示:

Basic authentication

OAuth2 token

为了防止泄露密码,这个token就像是第二个密码,需要在开发者设置的个人Token界面生成,选择Generate new token,填写名称并勾选所以的scope,然后记住生成后的Token,因为这个Tocken只显示一次,不过忘了也没关系,可以重新生成或重新创建。

OAuth2 token

使用curl认证方式有两种,其中OAUTH-TOKEN为生成的Token

  1. sent in a header
curl -H "Authorization: token OAUTH-TOKEN" https://api.github.com
  1. sent as a parameter
curl https://api.github.com/?access_token=OAUTH-TOKEN

OAuth2 key/secret

curl 'https://api.github.com/users/whatever?client_id=xxxx&client_secret=yyyy'

增删改查

下面这些权限操作基本上都是需要Auth认证的,所以需要先按照上面的步骤添加权限认证。另外,调用GitHub API不经过认证是只有每小时60次的限制的,通过认证则会有5000次。

添加文件

添加文件

注意:文件内容是需要将文件整体转换为Base64字符串再存到JSON中的

修改文件

注意:必须指定文件的sha,相当于文件的Id,此Id会文件内容的变化而变化,所以需要每次重新获取!

修改文件

删除文件

删除文件

增删改 issues

  1. 增加issues(该 issues 就是通过 API 添加的)

注意:issues 的内容不用转为 Base64 格式,直接添加内容即可

  1. 更改 issues
  1. 禁用 issues