打造App-GitHub 开放API大总结

今天整理了一下GitHub 开放出来API,将它罗列出来,用这些API可获取GitHub上面的数据,返回格式为json,经过使用这些数据,能够用Flutter,ReactNative,Android,iOS等技术开发出这款GitHub客户端练练手,巩固所学知识,岂不是高效率学习一门新技术的手段?git

这套API列表主要包含了一下几个方面的内容:github

  1. 登录认证信息
  2. All Activity的信息
  3. Trending的信息
  4. 我的用户信息
  5. Repos包含的全部信息

下面详细列出每一个方面的API,并给出所调用连接及返回的json结果信息。完整的API及返回的结果请查看连接 awesome-github-api 另外,访问全部私有数据,须要用户的token,不然会出现authentication的问题​。json

1. 登录

建议使用OAuth2认证登录,安全。相关连接:developer.github.com/v3/#authent…api

2. 关于个人-API

个人页面所涉及到的API,包括:数组

  1. 个人主页
  2. 个人关注
  3. 个人仓库
  4. 个人粉丝

2.1 个人我的主页

2.1.1 请求说明

说明 URL 备注
请求URL api.github.com/user?access…
参数 access_token

2.1.2 返回响应

详细json结果请看连接 个人我的信息json解析结果安全

在这里插入图片描述

2.2 个人关注 Following

2.2.1 请求说明

说明 URL 备注
请求URL api.github.com/users/{user…
参数1 page int类型
参数2 user 某个用户
例如 api.github.com/users/crazy… 须要分页处理

2.2.2 返回响应

备注:结果返回一个数组网络

详细json结果请看连接 个人我的信息json解析结果学习

在这里插入图片描述

2.3 个人粉丝 Followers

2.3.1 请求说明

说明 URL 备注
请求URL api.github.com/users/{user… 支持分页
参数1 page int类型
参数2 user 个人用户loginName
例如 api.github.com/users/crazy… 须要分页处理

2.3.2 返回响应

详细json结果请看连接 个人我的信息json解析结果3d

在这里插入图片描述

2.4 个人仓库 Repositories

2.4.1 请求说明

说明 URL 备注
请求URL api.github.com/user/repos?…
参数1 affiliation 隶属关系,固定值owner
参数2 direction 排序方式,asc升序,desc降序
参数3 page 分页
参数4 sort
参数5 visibility

2.4.2 返回响应

详细json结果请看连接 个人我的信息json解析结果code

在这里插入图片描述

3. 关于All activity-API

All activity所涉及到的API,包括:

3.1 All activity

3.1.1 请求说明

说明 URL 备注
请求URL api.github.com/users/{user…
参数1 user
参数2 name
参数3 page
demo api.github.com/users/crazy…

3.1.2 返回响应

All-Activity返回的结果json

在这里插入图片描述

4. 关于Trending-API

Trending所涉及到的API,包括:

  1. Trending-Repositories
  2. Trending-Developers

4.1 Trending-Repositories

4.1.1 请求说明

说明 URL 备注
请求URL github-trending-api.now.sh/repositorie…
参数1 since 参考值有daily-weekly-monthly
demo github-trending-api.now.sh/repositorie…

4.1.2 返回响应

Trending-Repositories返回全部的结果json

在这里插入图片描述

4.2 Trending-Developers

4.2.1 请求说明

说明 URL 备注
请求URL github-trending-api.now.sh/developers?…
参数1 since 参考值有daily-weekly-monthly
demo github-trending-api.now.sh/developers?…

4.2.2 返回响应

Trending-Developers返回全部的结果json

在这里插入图片描述

5. 关于User-Repos-API

User-Repos所涉及到的API,包括:

  1. User 某个用户的信息
  2. Repos 某个用户下某个仓库的信息

5.1 User

查询某个用户的信息

5.1.1 请求说明

说明 URL 备注
请求URL URL api.github.com/users/{user…
参数1 user 用户名
demo URL api.github.com/users/arvid…

5.1.2 返回响应

User-Repos-API结果返回的json

在这里插入图片描述

5.2 Repos

查询某个用户下的某个Repos信息

5.2.1 请求说明

说明 URL 备注
请求URL api.github.com/repos/{user…
参数1 user 某个用户
参数2 repos 该用户下的某个仓库名
demo api.github.com/repos/xings…

在这里插入图片描述

5.2.2 返回响应

User-Repos-API结果返回的json

6. 关于搜索-API

搜索所涉及到的API,包括:

  1. 搜索整个GitHub仓库内容

6.1 搜索

搜索整个GitHub仓库内容

6.1.1 请求说明

说明 URL 备注
请求URL api.github.com/search/repo…
参数1 q 搜索的内容
demo api.github.com/search/repo…

6.1.2 返回响应

搜索返回全部内容json

在这里插入图片描述

7. 总结

利用上面的API咱们基本能够获取GitHub的所有数据,有了这些靠谱的网络数据,经过组织这些数据,可使用RN,Flutter,Android,iOS等技术开发一款GitHub客户端,巩固咱们所学知识,提高学习效率,这是一个很不错的途径。

8. 关于做者

专一于 Android 开发多年,喜欢写 blog 记录总结学习经验,blog 同步更新于本人的公众号,欢迎你们关注,一块儿交流学习~

在这里插入图片描述
相关文章
相关标签/搜索