打造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 同步更新於本人的公衆號,歡迎你們關注,一塊兒交流學習~

在這裏插入圖片描述
相關文章
相關標籤/搜索